Forums Neueste Beiträge
 

AppDoman und Assambly DLL

05/08/2008 - 09:42 von Michael Burkhardt | Report spam
Hallo Ich habe eine Frage bzgl. der AppDomain Technik.
Ich möchte aus einer Formsanwendung die Möglichkeit haben eine DLL Dynamisch
zu laden und zu entladen.

folgendes habe ich programmiert:
...
AppDomainSetup setup = new AppDomainSetup();
setup.ShadowCopyFiles = true;
AppDomain domain = new AppDomain.CurrentDomain();
domain.CreaterDomain("C:\Assambly.dll", null, setup);
...
Jetzt möchte ich aus der Assembly die Methode Run der Klasse Class1 laden.
Was muss ich tun?

Mfg Michael
 

Lesen sie die antworten

#1 Frank Dzaebel
05/08/2008 - 12:51 | Warnen spam
Hallo Michael,

Hallo Ich habe eine Frage bzgl. der AppDomain Technik.
Ich möchte aus einer Formsanwendung die Möglichkeit haben eine DLL Dynamisch
zu laden und zu entladen. ... ShadowCopyFiles ...
[...] Jetzt möchte ich aus der Assembly die Methode Run der Klasse Class1
laden. Was muss ich tun?



Ein Beispiel:

_________
Class1.cs:

namespace MyAssembly
{
public class Class1 : MarshalByRefObject
{
public void Run()
{
MessageBox.Show("Methode Run aufgerufen.");
}
}
}


________
Form1.cs:

private void Form1_Load(object sender, EventArgs e)
{
AppDomainSetup setup; AppDomain domain;

// folgende Assembly sei in das Ausführungsverzeichnis kopiert.
string asmFilename = "MyAssembly.dll";

if (!File.Exists(asmFilename))
{
MessageBox.Show("Assembly: '" +asmFilename+ "' existiert nicht!");
return;
}
setup = new AppDomainSetup();
setup.ShadowCopyFiles = "true";
domain = AppDomain.CreateDomain("",
AppDomain.CurrentDomain.Evidence, setup);
object obj = domain.CreateInstanceAndUnwrap("MyAssembly",
"MyAssembly.Class1");
MethodInfo mi = obj.GetType().GetMethod("Run");
mi.Invoke(obj, null);
}


[Anwendungsdomànen und Community]
http://www.microsoft.com/germany/ms...unity.mspx

[AppDomainSetup.ShadowCopyFiles-Eigenschaft (System)]
http://msdn.microsoft.com/de-de/lib...files.aspx

[Erstellen von Schattenkopien von Assemblys]
http://msdn.microsoft.com/de-de/lib...04279.aspx

[AppDomainSetup.ShadowCopyDirectories-Eigenschaft (System)]
http://msdn.microsoft.com/de-de/lib...ories.aspx


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen