![](/img/trans.png)
[英]Using Activator.CreateInstance to create instance of a class and inject Interface to constructor
[英]Unable to Create the instance of COM class using Activator.CreateInstance
我正在尝试使用以下代码创建com对象:
Type testlib = Type.GetTypeFromProgID("TestComApp.TestApp.TestClass");
dynamic comObj = Activator.CreateInstance(testlib);
但是得到错误:
mscorlib.dll中发生了类型为'System.Runtime.InteropServices.COMException'的未处理异常
附加信息:由于以下错误,检索具有CLSID {FD909333-3CD0-477F-8A7E-B8045B0B84EC}的组件的COM类工厂失败:80040154未注册类(HRESULT的异常:0x80040154REGDB_E_CLASSNOTREG)。
我尝试使用AnyPlatform,X86,x64位平台以及用于32位和64位的RegAsm
构建项目。
但是仍然无法使其正常工作。 我已经在注册表中进行了验证,并且存在带有GUID的类和CLSID
一旦我在Regasm中使用codebase
,它就开始工作
cd "C:\Windows\Microsoft.NET\Framework\v4.0.30319"
regasm /codebase C:\DATA\TestComApp\TestComApp\bin\Debug\TestComApp.DLL
之前我在做:
cd "C:\Windows\Microsoft.NET\Framework\v4.0.30319"
regasm C:\DATA\TestComApp\TestComApp\bin\Debug\TestComApp.DLL
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.