不能在我的visual studio项目中使用我的interop dll

时间:2013-06-05 14:58:43

标签: c# com com-interop

我正在使用第三方dll。 Interop.CRYPTLib。我试图在我的.net应用程序中使用它,但我收到此错误

"Retrieving the COM class factory for component with CLSID {AF6AF735-6D30-4E16-8AFA-FD4317E87D1B} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))."

我尝试使用regsvr32,但现在我收到此错误

The module was loaded but the entry-point dllregisterserver was not found

我使用了regasm,它说类型注册成功但是第一个错误仍然失败,但是当我使用/tlb:Interop.cryptlib.tlb时出现错误

Interop.CRYPTLib.dll' was imported from a type library and cannot be re-exported to a type library.  Make sure the type library from
which the assembly was imported is registered.

我的代码是

var s = new CRYPTLib.EncryptDecryptClass();

1 个答案:

答案 0 :(得分:2)

Interop.CRYPTLib不是COM DLL - 它只是CRYPTLib COM DLL的.NET包装器。您需要实现CRYPTLib的DLL(可能是CRYPTLib.dll)并使用regsvr32安装该DLL。