在.NET中,有没有一种手动调用GAC中COM对象的方法,而不需要将其添加为引用?
我问这个问题的原因是我只知道如何用C#编写代码,并希望调用一个.NET COM对象并测试其CMO调用是否可见,但显然你无法将.NET COM对象添加到.NET程序集中!因为您必须引用它,因此我想知道如果它通过C#代码手动注册到GAC中,是否可以调用它?
在.NET中,有没有一种手动调用GAC中COM对象的方法,而不需要将其添加为引用?
我问这个问题的原因是我只知道如何用C#编写代码,并希望调用一个.NET COM对象并测试其CMO调用是否可见,但显然你无法将.NET COM对象添加到.NET程序集中!因为您必须引用它,因此我想知道如果它通过C#代码手动注册到GAC中,是否可以调用它?
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);
在 .Net 4 中类似以下代码:Type myType = Type.GetTypeFromProgID("IMyLib.MyClass");
dynamic obj = Activator.CreateInstance(myType);
obj.MyMethod("Hello", 3);