2

我正在使用第 3 方 dll。互操作.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();
4

1 回答 1

2

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

于 2013-06-05T15:10:41.800 回答