Without going into the details as to why, I'd like to find out how I can do
the following with .NET:

1.  I have a dll A.DLL.  It contains a class called ATree.

2.  I have an EXE called C.EXE.  It Instantiates ATree in A.DLL using
the 'New' keyword.  i.e. ATree a = New ATree();
    A.DLL is referenced using the /r command line option when C.EXE is
compiled.

3.  When I run C.EXE, it attempts to locate ATree within A.DLL, which is
fine.

What I want is this.  When C.EXE is run, I want to tell it look for the
ATree class in an entirely different DLL: Say, A2.DLL.
I don't want to change the way C.EXE is compiled.  That is, I want C.EXE to
to continue to be compiled by referring to A.DLL using the /r compiler
command-line option.

I can use a .config file to redirect, and if need be, I can use strong
names.

I've tried supplying C.EXE.CONFIG to redirect it to A2.DLL instead of
A.DLL, but it doesn't like it.  It says that A2.DLL's assembly name is
not "A".  Dah.

The only way I've gotten this to work is by using the Assembly Loader
directly and loading A2.DLL (or whatever) and then Creating the instance by
name.  This is similar to the old LoadLibrary/GetProcInstance way of
locating DLL functions.  This works, but I'm just wondering if there's a
better way -- I want to the client to just "New" up stuff like normal.

Any thoughts?

Kenny.

You can read messages from the DOTNET archive, unsubscribe from DOTNET, or
subscribe to other DevelopMentor lists at http://discuss.develop.com.

Reply via email to