473,407 Members | 2,598 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,407 software developers and data experts.

Problems with user control and class library. This must be a bug I suppose.

Hello!

This is a rather long mail but it's a very interesting one.
I hope you read it. I have tried several times to get an answer to this mail
but I have
not get any answer saying something like this is a bug or that .NET doesn't
support what I
trying to do.
I hope that one that is is microsoft certified read this because this must
be a bug.

I use VS 2003 and C#.

I have three project in my solution. One that build the exe and one that
build the user control dll and one that build the class library dll.

I have successfully managed to build both the user control dll and the class
library dll.
In the user control dll I have a class called B.

Note that I have only problem in design mode so far.
Look here. This is what I do and what should happen.
I drag the user control icon named B from the Toolbox into a form and when I
do so a row in the InitializeComponent in the form is automatically added
see ** below. As you can see
the constructor for class B in the user control is called and here we
instansiate an object of
class C which exist in the class library dll. This means that when we drag
the
user control from the toolbox we use the class library to instansiate class
C.

private void InitializeComponent()
{
this.b1= new B();// **
}

Here we have the constructor for class B for the user control.
public B()
{
InitializeComponent();
C c = new C(); //Here we instansiate a class C in the class library
c.foo();
}
I have a project reference to the class library from the user control.
I also have a project reference to the user control and to the class library
from my project that
build the exe file. In this project I have the form where the user control
is dragged into.

I can build the exe file but my problem is in design mode when the user
control is dragged into a form.

My user control is dependent of class library which mean if I rebuild the
user control
then will the class library also be rebuilt.

If I recompile the user control which build both dll everything works fine
when I drag the user control into a form.

If I instead only rebuild the class library and then try to drag the user
control into a form I get this error
"An exception occured while trying to create an instance of
B. The execption was "?"."
This is because the class library can't be found.

As far as I know I have all the references correct set because it works if I
rebuild the user control.
So when I have this error I can solve this error by recompileng the user
control again which rebuild both dll and then it works again when I drag the
user control into a form.

If I do the following my user control will disappear.
1.Rebuild the user control wich rebuild both dll.
2.Drag the user control B into a form.
3.Now rebuild only the class library.
4.Use View designer to look at the user control in the form.
When you do this it will disappear. It will disappear because it can't
find the class library dll for some reason.
Another thing I can't use the workaround that means rebuild the user control
because
that would be a very bad solution. If I can't use it in the way I do now I
must do some change in the design.

One more thing is that if I add some method in the class library and then
rebuild this one
I can see all the added method in "View in object browser" when right
clicking on the last in the references.

I just want to say it's very easy to reproduce my problem and see by
yourself that it's a strange problem.

Has anybody any suggestion about my problem.
Is it a bug or .NET might not fully support what I do.

//Tony

Apr 4 '06 #1
5 1971
Something aikin to this, mabye?

http://support.microsoft.com/default...=rss&spid=3040

This one might help to further diagnose the problem:

http://groups.google.it/group/micros...caee654e0e6e2d

Laura

"tony" <jo*****************@telia.com> ha scritto nel messaggio
news:uz**************@TK2MSFTNGP12.phx.gbl...
Hello!

This is a rather long mail but it's a very interesting one.
I hope you read it. I have tried several times to get an answer to this
mail
but I have
not get any answer saying something like this is a bug or that .NET
doesn't
support what I
trying to do.
I hope that one that is is microsoft certified read this because this must
be a bug.

I use VS 2003 and C#.

I have three project in my solution. One that build the exe and one that
build the user control dll and one that build the class library dll.

I have successfully managed to build both the user control dll and the
class
library dll.
In the user control dll I have a class called B.

Note that I have only problem in design mode so far.
Look here. This is what I do and what should happen.
I drag the user control icon named B from the Toolbox into a form and when
I
do so a row in the InitializeComponent in the form is automatically added
see ** below. As you can see
the constructor for class B in the user control is called and here we
instansiate an object of
class C which exist in the class library dll. This means that when we drag
the
user control from the toolbox we use the class library to instansiate
class
C.

private void InitializeComponent()
{
this.b1= new B();// **
}

Here we have the constructor for class B for the user control.
public B()
{
InitializeComponent();
C c = new C(); //Here we instansiate a class C in the class library
c.foo();
}
I have a project reference to the class library from the user control.
I also have a project reference to the user control and to the class
library
from my project that
build the exe file. In this project I have the form where the user control
is dragged into.

I can build the exe file but my problem is in design mode when the user
control is dragged into a form.

My user control is dependent of class library which mean if I rebuild the
user control
then will the class library also be rebuilt.

If I recompile the user control which build both dll everything works fine
when I drag the user control into a form.

If I instead only rebuild the class library and then try to drag the user
control into a form I get this error
"An exception occured while trying to create an instance of
B. The execption was "?"."
This is because the class library can't be found.

As far as I know I have all the references correct set because it works if
I
rebuild the user control.
So when I have this error I can solve this error by recompileng the user
control again which rebuild both dll and then it works again when I drag
the
user control into a form.

If I do the following my user control will disappear.
1.Rebuild the user control wich rebuild both dll.
2.Drag the user control B into a form.
3.Now rebuild only the class library.
4.Use View designer to look at the user control in the form.
When you do this it will disappear. It will disappear because it can't
find the class library dll for some reason.
Another thing I can't use the workaround that means rebuild the user
control
because
that would be a very bad solution. If I can't use it in the way I do now I
must do some change in the design.

One more thing is that if I add some method in the class library and then
rebuild this one
I can see all the added method in "View in object browser" when right
clicking on the last in the references.

I just want to say it's very easy to reproduce my problem and see by
yourself that it's a strange problem.

Has anybody any suggestion about my problem.
Is it a bug or .NET might not fully support what I do.

//Tony

Apr 4 '06 #2
I tried your example, and occured the same errors. Still I found a solution.
If in AssemblyInfo.cs file in Library and UserControl project you put a non
variable version value, the error isn't appear.

Try to modify

[assembly: AssemblyVersion("1.0.*")]

to

[assembly: AssemblyVersion("1.0.1")]

Mihaly

"tony" wrote:
Hello!

This is a rather long mail but it's a very interesting one.
I hope you read it. I have tried several times to get an answer to this mail
but I have
not get any answer saying something like this is a bug or that .NET doesn't
support what I
trying to do.
I hope that one that is is microsoft certified read this because this must
be a bug.

I use VS 2003 and C#.

I have three project in my solution. One that build the exe and one that
build the user control dll and one that build the class library dll.

I have successfully managed to build both the user control dll and the class
library dll.
In the user control dll I have a class called B.

Note that I have only problem in design mode so far.
Look here. This is what I do and what should happen.
I drag the user control icon named B from the Toolbox into a form and when I
do so a row in the InitializeComponent in the form is automatically added
see ** below. As you can see
the constructor for class B in the user control is called and here we
instansiate an object of
class C which exist in the class library dll. This means that when we drag
the
user control from the toolbox we use the class library to instansiate class
C.

private void InitializeComponent()
{
this.b1= new B();// **
}

Here we have the constructor for class B for the user control.
public B()
{
InitializeComponent();
C c = new C(); //Here we instansiate a class C in the class library
c.foo();
}
I have a project reference to the class library from the user control.
I also have a project reference to the user control and to the class library
from my project that
build the exe file. In this project I have the form where the user control
is dragged into.

I can build the exe file but my problem is in design mode when the user
control is dragged into a form.

My user control is dependent of class library which mean if I rebuild the
user control
then will the class library also be rebuilt.

If I recompile the user control which build both dll everything works fine
when I drag the user control into a form.

If I instead only rebuild the class library and then try to drag the user
control into a form I get this error
"An exception occured while trying to create an instance of
B. The execption was "?"."
This is because the class library can't be found.

As far as I know I have all the references correct set because it works if I
rebuild the user control.
So when I have this error I can solve this error by recompileng the user
control again which rebuild both dll and then it works again when I drag the
user control into a form.

If I do the following my user control will disappear.
1.Rebuild the user control wich rebuild both dll.
2.Drag the user control B into a form.
3.Now rebuild only the class library.
4.Use View designer to look at the user control in the form.
When you do this it will disappear. It will disappear because it can't
find the class library dll for some reason.
Another thing I can't use the workaround that means rebuild the user control
because
that would be a very bad solution. If I can't use it in the way I do now I
must do some change in the design.

One more thing is that if I add some method in the class library and then
rebuild this one
I can see all the added method in "View in object browser" when right
clicking on the last in the references.

I just want to say it's very easy to reproduce my problem and see by
yourself that it's a strange problem.

Has anybody any suggestion about my problem.
Is it a bug or .NET might not fully support what I do.

//Tony

Apr 4 '06 #3
Hello!!
Hello!!

I get the same problem even if I change in AssemblyInfo.cs in the way you
suggested.
You must have done something more to have it work.
//Tony
"Mihaly" <Mi****@discussions.microsoft.com> skrev i meddelandet
news:C6**********************************@microsof t.com...
I tried your example, and occured the same errors. Still I found a solution. If in AssemblyInfo.cs file in Library and UserControl project you put a non variable version value, the error isn't appear.

Try to modify

[assembly: AssemblyVersion("1.0.*")]

to

[assembly: AssemblyVersion("1.0.1")]

Mihaly

"tony" wrote:
Hello!

This is a rather long mail but it's a very interesting one.
I hope you read it. I have tried several times to get an answer to this mail but I have
not get any answer saying something like this is a bug or that .NET doesn't support what I
trying to do.
I hope that one that is is microsoft certified read this because this must be a bug.

I use VS 2003 and C#.

I have three project in my solution. One that build the exe and one that
build the user control dll and one that build the class library dll.

I have successfully managed to build both the user control dll and the class library dll.
In the user control dll I have a class called B.

Note that I have only problem in design mode so far.
Look here. This is what I do and what should happen.
I drag the user control icon named B from the Toolbox into a form and when I do so a row in the InitializeComponent in the form is automatically added see ** below. As you can see
the constructor for class B in the user control is called and here we
instansiate an object of
class C which exist in the class library dll. This means that when we drag the
user control from the toolbox we use the class library to instansiate class C.

private void InitializeComponent()
{
this.b1= new B();// **
}

Here we have the constructor for class B for the user control.
public B()
{
InitializeComponent();
C c = new C(); //Here we instansiate a class C in the class library c.foo();
}
I have a project reference to the class library from the user control.
I also have a project reference to the user control and to the class library from my project that
build the exe file. In this project I have the form where the user control is dragged into.

I can build the exe file but my problem is in design mode when the user
control is dragged into a form.

My user control is dependent of class library which mean if I rebuild the user control
then will the class library also be rebuilt.

If I recompile the user control which build both dll everything works fine when I drag the user control into a form.

If I instead only rebuild the class library and then try to drag the user control into a form I get this error
"An exception occured while trying to create an instance of
B. The execption was "?"."
This is because the class library can't be found.

As far as I know I have all the references correct set because it works if I rebuild the user control.
So when I have this error I can solve this error by recompileng the user
control again which rebuild both dll and then it works again when I drag the user control into a form.

If I do the following my user control will disappear.
1.Rebuild the user control wich rebuild both dll.
2.Drag the user control B into a form.
3.Now rebuild only the class library.
4.Use View designer to look at the user control in the form.
When you do this it will disappear. It will disappear because it can't
find the class library dll for some reason.
Another thing I can't use the workaround that means rebuild the user control because
that would be a very bad solution. If I can't use it in the way I do now I must do some change in the design.

One more thing is that if I add some method in the class library and then rebuild this one
I can see all the added method in "View in object browser" when right
clicking on the last in the references.

I just want to say it's very easy to reproduce my problem and see by
yourself that it's a strange problem.

Has anybody any suggestion about my problem.
Is it a bug or .NET might not fully support what I do.

//Tony

Apr 4 '06 #4
Are you using project references or referencing the .dll's directly?
It sounds like when you change and recompile class C that it's version
number changes and that the user control was depending on the previous
version. That's one reason you should use project references where
possible.

Apr 4 '06 #5
Hello!
My example is working. I changed the version in both AssemblyInfo.cs files
and I added my UserControl to My UserControls toolbar with rigth click,
add/remove items, browse my UserControl.dll and select may control's checkbox.

I hope this help you.

Mihaly
"tony" wrote:
Hello!!
Hello!!

I get the same problem even if I change in AssemblyInfo.cs in the way you
suggested.
You must have done something more to have it work.
//Tony
"Mihaly" <Mi****@discussions.microsoft.com> skrev i meddelandet
news:C6**********************************@microsof t.com...
I tried your example, and occured the same errors. Still I found a

solution.
If in AssemblyInfo.cs file in Library and UserControl project you put a

non
variable version value, the error isn't appear.

Try to modify

[assembly: AssemblyVersion("1.0.*")]

to

[assembly: AssemblyVersion("1.0.1")]

Mihaly

"tony" wrote:
Hello!

This is a rather long mail but it's a very interesting one.
I hope you read it. I have tried several times to get an answer to this mail but I have
not get any answer saying something like this is a bug or that .NET doesn't support what I
trying to do.
I hope that one that is is microsoft certified read this because this must be a bug.

I use VS 2003 and C#.

I have three project in my solution. One that build the exe and one that
build the user control dll and one that build the class library dll.

I have successfully managed to build both the user control dll and the class library dll.
In the user control dll I have a class called B.

Note that I have only problem in design mode so far.
Look here. This is what I do and what should happen.
I drag the user control icon named B from the Toolbox into a form and when I do so a row in the InitializeComponent in the form is automatically added see ** below. As you can see
the constructor for class B in the user control is called and here we
instansiate an object of
class C which exist in the class library dll. This means that when we drag the
user control from the toolbox we use the class library to instansiate class C.

private void InitializeComponent()
{
this.b1= new B();// **
}

Here we have the constructor for class B for the user control.
public B()
{
InitializeComponent();
C c = new C(); //Here we instansiate a class C in the class library c.foo();
}
I have a project reference to the class library from the user control.
I also have a project reference to the user control and to the class library from my project that
build the exe file. In this project I have the form where the user control is dragged into.

I can build the exe file but my problem is in design mode when the user
control is dragged into a form.

My user control is dependent of class library which mean if I rebuild the user control
then will the class library also be rebuilt.

If I recompile the user control which build both dll everything works fine when I drag the user control into a form.

If I instead only rebuild the class library and then try to drag the user control into a form I get this error
"An exception occured while trying to create an instance of
B. The execption was "?"."
This is because the class library can't be found.

As far as I know I have all the references correct set because it works if I rebuild the user control.
So when I have this error I can solve this error by recompileng the user
control again which rebuild both dll and then it works again when I drag the user control into a form.

If I do the following my user control will disappear.
1.Rebuild the user control wich rebuild both dll.
2.Drag the user control B into a form.
3.Now rebuild only the class library.
4.Use View designer to look at the user control in the form.
When you do this it will disappear. It will disappear because it can't
find the class library dll for some reason.
Another thing I can't use the workaround that means rebuild the user control because
that would be a very bad solution. If I can't use it in the way I do now I must do some change in the design.

One more thing is that if I add some method in the class library and then rebuild this one
I can see all the added method in "View in object browser" when right
clicking on the last in the references.

I just want to say it's very easy to reproduce my problem and see by
yourself that it's a strange problem.

Has anybody any suggestion about my problem.
Is it a bug or .NET might not fully support what I do.

//Tony


Apr 6 '06 #6

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

4
by: Morten Aune Lyrstad | last post by:
Ok, now I'm officially confused. I have a large project going, which uses a win32 ui library I am developing myself. And I'm getting weird memory leaks. I don't know if I can explain what is going...
6
by: martin | last post by:
Hi, I am a web page and a web user control. My web user control is placed in my web page using the following directive <%@ Register TagPrefix="uc1" TagName="Header"...
6
by: Tom Kiefer | last post by:
Question: If I have an ASP.NET User Control which defines/exposes a property that the page can use to specify a mode or data subset for the control to use, is there a way to tell the @OutputCache...
0
by: Tony Johansson | last post by:
Hello! I have one solution file that consist of three project. One project that build the exe file. called A One project that build a user control dll called B One project that build a class...
4
by: Tony Johansson | last post by:
Hello! I have one solution file that consist of three project. One project that build the exe file called A One project that build a user control dll. Here we have a class called B One project...
5
by: Tony Johansson | last post by:
Hello! I have one solution file that consist of three project. One project that build the exe file called A One project that build a user control dll. Here we have a class called B One project...
1
by: Tony Johansson | last post by:
Hello!! I use VS 2003 and C#. I have sent several mail even tried with crossgroup because I want to find out if my problem is a bug in .NET or if .NET doesn't support what I do. It's only one...
1
by: Tony Johansson | last post by:
Hello!! I use VS 2003 and C#. I have sent several mail even tried with crossgroup because I want to find out if my problem is a bug in .NET or if .NET doesn't support what I do. It's only one...
0
by: tony | last post by:
Hello! This is a rather long mail but it's a very interesting one. I hope you read it. I have tried several times to get an answer to this mail but I have not get any answer saying something...
5
by: =?Utf-8?B?U2FsYW1FbGlhcw==?= | last post by:
Hi, I have a user control which I like to use in several projects (winforms) in the same solution. Inside lets say Winapp1 , When adding a reference to this control, I can dynamically or statically...
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.