gpt4 book ai didi

c# - .NET DLL 中的 System.DllNotFoundException

转载 作者:行者123 更新时间:2023-11-28 07:53:28 28 4
gpt4 key购买 nike

我采用了一个用 C/C++ 编写的程序并修改了它的主要函数以接受一些参数作为输入并返回一个变量作为输出并从中创建了一个 Win32 DLL。然后我创建了一个 .NET DLL,它使用 InterOp 来访问第一个 DLL。现在,当我在我的 C# 应用程序中加载 .NET DLL 时,我从 DLL 中得到一个 System.DllNotFoundException,这让我很困惑,因为程序从来没有内存问题,而且 Win32/.NET dll 都位于同一目录中(除了从修改主函数开始,代码并没有真正改变)。this 中提供了解决方案线程,这是我前一段时间的原始问题。我很确定答案是正确的,但我只是遗漏了一些东西。

你可以下载我的VS解决方案Here .该解决方案包含三个项目:Win32 DLL、.NET DLL 和引用 .NET DLL 的 winform 应用程序(但在尝试测试时给出 DLL 异常)。非常感谢任何帮助或调试指导。

  • 更新:我已经尝试了下面的所有提示/建议,但我仍然得到完全相同的错误。如果它能让事情变得更简单,我的 VS 解决方案可以在上面的超链接中下载。

最佳答案

确保您已将 win32 dll 放在/windows/system32 文件夹中(如果只将 dll 名称传递给 DllImport)

或者,您也可以将 dll 的完整路径传递给 DllImport 属性。

使用 Dependency Walker 等工具以确保您不会错过任何相关程序集。

关于c# - .NET DLL 中的 System.DllNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13239246/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com