有没有手动方式在.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);