Frage

Gibt es eine manuelle Art und Weise ein COM-Objekt in dem GAC in .NET aufrufen, ohne sie als Referenz hinzufügen?

Der Grund, warum ich frage ist, ich weiß nur, wie in C # codieren und wollen eine .NET COM-Objekt und Tests aufzurufen, die ihre CMO Anrufe sichtbar sind, aber natürlich können Sie nicht ein .NET COM-Objekt zu einer .NET hinzufügen Versammlung! Wie Sie darauf verweisen müssen, damit ich frage mich, nennen Sie es, wenn seine im GAC manuell durch c # -Code registriert?

War es hilfreich?

Lösung

Type myType = Type.GetTypeFromProgID("IMyLib.MyClass");
object obj = Activator.CreateInstance(myType);
object[] args = new object[2];
args[0] = "Hello";
args[1] = 3;
myType.InvokeMember("MyMethod", BindingFlags.InvokeMethod, obj, args);

In .Net 4 so etwas wie diese

Type myType = Type.GetTypeFromProgID("IMyLib.MyClass");
dynamic obj = Activator.CreateInstance(myType);
obj.MyMethod("Hello", 3);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top