472,353 Members | 1,894 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

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

load and unload assembly (System.AppDomain)

Hi all

I have a problem with loading a assembly ...
I am trying to do the following:
- I have a directory with a dll (assembly) in it (not the currect dir.)
- I am trying to load this assembly, run a method in it, and than close it.
The question would be: How is the right way to do it ????

The following way works, exept that I need to copy the dll into the
current directory and I am unable to unload it ...
System.AppDomain local_AppDomain;
sCONTROLInterface.sCONTROLInterface local_InterfaceObject;
System.Reflection.Assembly local_Assembly;
object local_Object;
local_AppDomain =
System.AppDomain.CreateDomain("DynamicDomain");
local_Assembly =
local_AppDomain.Load(System.Reflection.AssemblyNam e.GetAssemblyName(@"C:\temp\PlugIn\xyz.dll"));
local_Object = local_Assembly.CreateInstance("xyz.cls1");

If I try to add a AppDomainSetup, it does not work at all ...
System.AppDomainSetup local_AppDomainSetup;
System.AppDomain local_AppDomain;
sCONTROLInterface.sCONTROLInterface local_InterfaceObject;
System.Reflection.Assembly local_Assembly;
object local_Object;
local_AppDomainSetup = new AppDomainSetup();
local_AppDomainSetup.ApplicationBase = "file:///" +
@"C:\temp\PlugIn";
local_AppDomain =
System.AppDomain.CreateDomain("DynamicDomain", null, local_AppDomainSetup);
local_Object = local_AppDomain.CreateInstance("xyz",
"xyz.cls1");

PLEASE HELP ... !!!!
Thanks for any comment !

Best regards
Frank Uray

Mar 29 '06 #1
3 21970
What errors do you get?
Are you talking about a full trust app or something else?

I use this code to load dll's in appdomains and it works for me:

extDom = AppDomain.CreateDomain("HELLO");
AssemblyName extName = new AssemblyName();
extName.CodeBase = "file://C:\\temp\\A.dll";
Assembly extDll=extDom.Load(extName);
Type extType=extDll.GetExportedTypes()[0];
object extObj = _ExtDom.CreateInstanceAndUnwrap(extDll.FullName,
extType.FullName);

Laura

"Frank Uray" <Fr*******@discussions.microsoft.com> ha scritto nel messaggio
news:E0**********************************@microsof t.com...
Hi all

I have a problem with loading a assembly ...
I am trying to do the following:
- I have a directory with a dll (assembly) in it (not the currect dir.)
- I am trying to load this assembly, run a method in it, and than close
it.
The question would be: How is the right way to do it ????

The following way works, exept that I need to copy the dll into the
current directory and I am unable to unload it ...
System.AppDomain local_AppDomain;
sCONTROLInterface.sCONTROLInterface
local_InterfaceObject;
System.Reflection.Assembly local_Assembly;
object local_Object;
local_AppDomain =
System.AppDomain.CreateDomain("DynamicDomain");
local_Assembly =
local_AppDomain.Load(System.Reflection.AssemblyNam e.GetAssemblyName(@"C:\temp\PlugIn\xyz.dll"));
local_Object =
local_Assembly.CreateInstance("xyz.cls1");

If I try to add a AppDomainSetup, it does not work at all ...
System.AppDomainSetup local_AppDomainSetup;
System.AppDomain local_AppDomain;
sCONTROLInterface.sCONTROLInterface
local_InterfaceObject;
System.Reflection.Assembly local_Assembly;
object local_Object;
local_AppDomainSetup = new AppDomainSetup();
local_AppDomainSetup.ApplicationBase = "file:///" +
@"C:\temp\PlugIn";
local_AppDomain =
System.AppDomain.CreateDomain("DynamicDomain", null,
local_AppDomainSetup);
local_Object = local_AppDomain.CreateInstance("xyz",
"xyz.cls1");

PLEASE HELP ... !!!!
Thanks for any comment !

Best regards
Frank Uray

Mar 29 '06 #2
Hi Laura

Thanks a lot for your answer !

It is very bad but I cant get this to work ... :-((

I can create the AppDomain.
I can create the AssemblyName
Because the directory of the external dll is not the current
directory the Load than fails ... it does not find the dll ... of corse
because it is looking in the wrong directory ...

.... it really drives me crazy ... :-)))
Do you have any ideas about that??

Best regards
Frank

"Laura T." wrote:
What errors do you get?
Are you talking about a full trust app or something else?

I use this code to load dll's in appdomains and it works for me:

extDom = AppDomain.CreateDomain("HELLO");
AssemblyName extName = new AssemblyName();
extName.CodeBase = "file://C:\\temp\\A.dll";
Assembly extDll=extDom.Load(extName);
Type extType=extDll.GetExportedTypes()[0];
object extObj = _ExtDom.CreateInstanceAndUnwrap(extDll.FullName,
extType.FullName);

Laura

"Frank Uray" <Fr*******@discussions.microsoft.com> ha scritto nel messaggio
news:E0**********************************@microsof t.com...
Hi all

I have a problem with loading a assembly ...
I am trying to do the following:
- I have a directory with a dll (assembly) in it (not the currect dir.)
- I am trying to load this assembly, run a method in it, and than close
it.
The question would be: How is the right way to do it ????

The following way works, exept that I need to copy the dll into the
current directory and I am unable to unload it ...
System.AppDomain local_AppDomain;
sCONTROLInterface.sCONTROLInterface
local_InterfaceObject;
System.Reflection.Assembly local_Assembly;
object local_Object;
local_AppDomain =
System.AppDomain.CreateDomain("DynamicDomain");
local_Assembly =
local_AppDomain.Load(System.Reflection.AssemblyNam e.GetAssemblyName(@"C:\temp\PlugIn\xyz.dll"));
local_Object =
local_Assembly.CreateInstance("xyz.cls1");

If I try to add a AppDomainSetup, it does not work at all ...
System.AppDomainSetup local_AppDomainSetup;
System.AppDomain local_AppDomain;
sCONTROLInterface.sCONTROLInterface
local_InterfaceObject;
System.Reflection.Assembly local_Assembly;
object local_Object;
local_AppDomainSetup = new AppDomainSetup();
local_AppDomainSetup.ApplicationBase = "file:///" +
@"C:\temp\PlugIn";
local_AppDomain =
System.AppDomain.CreateDomain("DynamicDomain", null,
local_AppDomainSetup);
local_Object = local_AppDomain.CreateInstance("xyz",
"xyz.cls1");

PLEASE HELP ... !!!!
Thanks for any comment !

Best regards
Frank Uray


Mar 29 '06 #3
Ok, I think you need to make an assembly loader .exe that you execute in the
foreign appdomain passing it the assembly dll name as a parameter. Just a
stub .exe.

For more info, check out these:

http://blogs.msdn.com/suzcook/archiv.../16/57188.aspx
http://blogs.msdn.com/brada/archive/.../16/49974.aspx
http://blogs.msdn.com/suzcook/archiv.../12/57169.aspx
http://www.gotdotnet.com/team/clr/Ap...#_Toc514058497

Laura

"Frank Uray" <Fr*******@discussions.microsoft.com> ha scritto nel messaggio
news:8A**********************************@microsof t.com...
Hi Laura

Thanks a lot for your answer !

It is very bad but I cant get this to work ... :-((

I can create the AppDomain.
I can create the AssemblyName
Because the directory of the external dll is not the current
directory the Load than fails ... it does not find the dll ... of corse
because it is looking in the wrong directory ...

... it really drives me crazy ... :-)))
Do you have any ideas about that??

Best regards
Frank

"Laura T." wrote:
What errors do you get?
Are you talking about a full trust app or something else?

I use this code to load dll's in appdomains and it works for me:

extDom = AppDomain.CreateDomain("HELLO");
AssemblyName extName = new AssemblyName();
extName.CodeBase = "file://C:\\temp\\A.dll";
Assembly extDll=extDom.Load(extName);
Type extType=extDll.GetExportedTypes()[0];
object extObj = _ExtDom.CreateInstanceAndUnwrap(extDll.FullName,
extType.FullName);

Laura

"Frank Uray" <Fr*******@discussions.microsoft.com> ha scritto nel
messaggio
news:E0**********************************@microsof t.com...
> Hi all
>
> I have a problem with loading a assembly ...
> I am trying to do the following:
> - I have a directory with a dll (assembly) in it (not the currect dir.)
> - I am trying to load this assembly, run a method in it, and than close
> it.
> The question would be: How is the right way to do it ????
>
>
>
> The following way works, exept that I need to copy the dll into the
> current directory and I am unable to unload it ...
> System.AppDomain local_AppDomain;
> sCONTROLInterface.sCONTROLInterface
> local_InterfaceObject;
> System.Reflection.Assembly local_Assembly;
> object local_Object;
> local_AppDomain =
> System.AppDomain.CreateDomain("DynamicDomain");
> local_Assembly =
> local_AppDomain.Load(System.Reflection.AssemblyNam e.GetAssemblyName(@"C:\temp\PlugIn\xyz.dll"));
> local_Object =
> local_Assembly.CreateInstance("xyz.cls1");
>
>
>
> If I try to add a AppDomainSetup, it does not work at all ...
> System.AppDomainSetup local_AppDomainSetup;
> System.AppDomain local_AppDomain;
> sCONTROLInterface.sCONTROLInterface
> local_InterfaceObject;
> System.Reflection.Assembly local_Assembly;
> object local_Object;
> local_AppDomainSetup = new AppDomainSetup();
> local_AppDomainSetup.ApplicationBase = "file:///" +
> @"C:\temp\PlugIn";
> local_AppDomain =
> System.AppDomain.CreateDomain("DynamicDomain", null,
> local_AppDomainSetup);
> local_Object = local_AppDomain.CreateInstance("xyz",
> "xyz.cls1");
>
>
>
> PLEASE HELP ... !!!!
> Thanks for any comment !
>
> Best regards
> Frank Uray
>


Mar 30 '06 #4

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

Similar topics

3
by: Andy | last post by:
Hi, i tried to load an assembly to an appdomain. The data output is correctly but the assembly is still in use after unloading the appdomain... ...
3
by: Raveendra | last post by:
Hi! I am trying to create one new Application Domain and calling one Assembly in that created Application Domain. It is working fine with stand...
2
by: Patrick Blackman | last post by:
I have a program that search the application path for all the Dll that implement a certain interface IText ,when a Dll with the interface is found...
2
by: Lauren Hines | last post by:
Hello, I have read numerous post stating that the only way to unload an assembly (DLL in my case) is to create a separate AppDomain, load the...
2
by: Chris Dunaway | last post by:
I am using reflection to load an assembly dynamically at runtime. If there are classes in the assembly that implement a particular interface, I put...
0
by: marfi95 | last post by:
Hi all, I'm writing some code to automatically update my application when changes have been made. I had it all working by using the LoadFrom...
0
by: Frank Uray | last post by:
Hi all I have a problem with loading a assembly ... I am trying to do the following: - I have a directory with a dll (assembly) in it (not the...
2
by: linhnc | last post by:
Hi all, Because I have to load and unload an assembly, so I try to create a new appdomain and load the assembly into it. But it throws an exception...
2
by: =?Utf-8?B?UGFi?= | last post by:
Hello, I am confused with load assembly in AppDomain. I created ASP Web application, same business logic is realized in custom DLLs, and I need...
1
by: Kemmylinns12 | last post by:
Blockchain technology has emerged as a transformative force in the business world, offering unprecedented opportunities for innovation and...
0
by: Naresh1 | last post by:
What is WebLogic Admin Training? WebLogic Admin Training is a specialized program designed to equip individuals with the skills and knowledge...
0
by: antdb | last post by:
Ⅰ. Advantage of AntDB: hyper-convergence + streaming processing engine In the overall architecture, a new "hyper-convergence" concept was...
0
by: Matthew3360 | last post by:
Hi there. I have been struggling to find out how to use a variable as my location in my header redirect function. Here is my code. ...
2
by: Matthew3360 | last post by:
Hi, I have a python app that i want to be able to get variables from a php page on my webserver. My python app is on my computer. How would I make it...
0
by: Arjunsri | last post by:
I have a Redshift database that I need to use as an import data source. I have configured the DSN connection using the server, port, database, and...
0
by: Matthew3360 | last post by:
Hi, I have been trying to connect to a local host using php curl. But I am finding it hard to do this. I am doing the curl get request from my web...
0
Oralloy
by: Oralloy | last post by:
Hello Folks, I am trying to hook up a CPU which I designed using SystemC to I/O pins on an FPGA. My problem (spelled failure) is with the...
0
by: Carina712 | last post by:
Setting background colors for Excel documents can help to improve the visual appeal of the document and make it easier to read and understand....

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.