Why is it not possible to call a class library method from a user control.

T

Tony Johansson

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 that build a class library dll. Here we have a class called C

We have one dependency and that is from the user control to the class
library because
in the constructor for class B in the user control we have a call to
instansiate class C in the class library dll.
public B()
{
InitializeComponent();
Last.C last = new Last.C();
last.foo();
}

In the project that create the exe file I have a project reference to the
user control.
In the project that create the user control I have a project reference to
the class library.

When I add the user control to the Toolbox I use the obj/debug directory to
select the user control dll.

Now to my problem when I try to drag the user control from the toolbox into
a form I get the following error "An exception occured while trying to
create an instance of WindowsControlLibrary.B. The execption was "?"."

Is this kind of a bug that cause this problem.
Is it possible to solve this kind of problem in some way.
I have even rebuild the user control dll and the class library dll but it
doesn't matter.


//Tony
 
V

Vijay

Technically this should work... I suggest manually copying the library dll
to the debug directory of the executable and trying.. or making sure that in
the project reference paths that you have the directory in which you can
find the library dll

VJ
 
T

Tony Johansson

Hello!!

When this control library is trying to access a method in the class
library where is the search path that is used.

//Tony
 
V

Vijay

Its defined in the framework, so at run time it will look for in App.Config
is specified any... default search is executable location, the GAC..and so
on.. You can override to make it look at a specific location in App.Config..
I don't remember the exact syntax of it right now.. but if you Google it,
you will get examples.. one other place is codeproject.com to see for
samples..

VJ
 
T

Tony Johansson

Hello!!

Is the search path different between run time and design time.

I use the term design time when the user control is dragged from the
Toolbox into the form and
runtime when you actually execute the exe file.

Do you know if the problem with path would be easier if I use the GAC.

//Tony
 
V

Vijay

No it is not.. the only additional path I believe it will search at design
time is any you set in project references.. Otherwise the path search is
same, design time or run-time..

I think that is ok to do, to have in the GAC. But personally I feel the best
practice to keep all deployed assemblies together in the same path or a
relative path as specified in app.config. The only place you should go for
GAC is if you are sharing the assembly with more than say 1 application or
developing something like a control that all .NET developers will use...

HTH
Vijay
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top