我的C#项目引用了依赖于本机dll的托管dll。因此,在调用托管dll函数之前,我将本机dll复制到文件夹:Path.GetDirectoryName(Assembly.GetAssembly(typeof(ManagedDllClass)).Location)
。
由于
答案 0 :(得分:0)
"原生DLL"在这种情况下实际上是误导。
.NET只能使用COM Interop与COM服务器DLL连接。通常,COM DLL需要在操作系统中注册才能通过.NET访问 - 它们通常不像.NET程序集那样兼容xcopy。
如果您不确定COM服务器DLL是否已注册,请使用regsvr32.exe再次注册DLL。
有关如何使用regsvr32.exe的更多说明:How to use the Regsvr32 tool and troubleshoot Regsvr32 error messages