Dies ist eine Erweiterung einer Frage, die ich zuvor here gestellt habe.Anzeigen eines Formulars aus einer dynamisch geladenen DLL
Lange Rede kurzer Sinn, ich eine DLL dynamisch laden und ein type
aus ihn mit dem folgenden Code ein:
Assembly assembly = Assembly.LoadFile("C:\\test.dll");
Type type = assembly.GetType("test.dllTest");
Activator.CreateInstance(type);
Von dort aus kann ich type
verwende praktisch alles, was in der dllTest
Klasse zu verweisen. Die Klasse sollte beim Ausführen standardmäßig ein Formular aufrufen (in diesem Fall ziemlich leer, also nicht komplex).
Ich habe das Gefühl, dass mir hier eine Schlüsselzeile fehlt, die das Formular vor dem Laden auf dem Bildschirm bewahrt.
dllTest.cs
(innerhalb der DLL) besteht aus:
namespace test
{
public partial class dllTest : Form
{
public dllTest()
{
InitializeComponent();
}
}
}
InitializeComponent()
setzt das Layout des Formulars auf, die viel zu lange ist hier einzufügen und sollte keinen Unterschied machen.
Irgendwelche Ideen?
Dies ist keine direkte Antwort auf Ihre Frage, aber wenn Sie eine Menge davon tun möchten, können Sie den Composite Application Block (CAB) ausprobieren. Sein Teil der Smart Client Software Factory und kann hier gefunden werden: http://msdn.microsoft.com/en-us/library/aa480482.aspx – blu