从引用的托管程序集执行本机DLL调用时,调试器挂起

本文关键字:调用 DLL 挂起 调试器 本机 执行 引用 程序集 | 更新日期: 2023-09-27 18:20:11

我的C#项目引用的托管dll依赖于本机dll。因此,在调用托管dll函数之前,我将本机dll复制到文件夹:Path.GetDirectoryName(Assembly.GetAssembly(typeof(ManagedDllClass)).Location)

然而,在执行本机调用时,我仍然遇到调试器挂起的问题。造成这种情况的原因是什么?处理引用的托管dll依赖于本机dll的情况时,首选的方法是什么?

感谢

从引用的托管程序集执行本机DLL调用时,调试器挂起

"本机DLL"在这种情况下实际上是误导性的。

.NET只能使用COM互操作与COM服务器DLL接口。一般来说,COM DLL需要在操作系统中注册才能通过.NET访问——它们通常与.NET程序集不兼容。

如果您不确定COM服务器DLL是否已注册,请使用regsvr32.exe再次注册DLL。

关于如何使用regsvr32.exe的更多说明:如何使用regsvr32工具并排除Regsvr3 2错误消息