调用C++dll的C#dll在windows 10上找不到该dll
C# dll calling a c++ dll cannot find the dll on windows 10
我创建了一个调用c++dll的c#dll。为此,我正在做一个简单的DLL导入。这在我所有的Windows7机器上都运行得很好,但现在我试着在Windows10上运行它。。当执行c#函数时,我得到一个错误,即找不到调用的c++dll。(System.DllNotFoundException).
c#和c++dll在同一目录中。我试图将这两个文件都复制到调用c#库的exe文件中->没有运气
我试图将两个文件都复制到system32->,但没有成功。
我必须在哪里复制它们,以便c#"看到"c++dll?有没有办法告诉窗口在哪里搜索?
感谢的帮助
编辑:C#和C++dll是用"Visual Studio Express 2015"开发的。在windows 10系统上,我安装了Microsoft Visual C++1010/2012/2013/2015 Redistributable x86/x64例外情况是:对.NET成员"function_Cs"的调用内部发生异常:System.DllNotFoundException:DLL"The_C++_library.DLL":Das angegebene Modul wurde nicht gefunden。(HRESULT的Ausnahme von 0x8007007E)不存在。bei C#库.C#库.function(Int32a,Int32b,Int32&res)
问题不在于C++DLL放错了地方;问题是无法加载。最有可能的是,它依赖于Windows 10上默认不可用的Microsoft C++运行库版本。您可以通过Dependency Walker检查依赖DLL的状态来验证这一点。您可以:
- 安装适当版本的运行时OR
- 静态链接您的C++DLL
重新编译源代码(不做任何更改)后,dll可以毫无问题地执行。奇怪,但这是解决方案。无法工作的dll大约有6个月大,可以在其他Windows7计算机上工作。
- 加载"D:UsersPublicDocumentsopencvbuildx64vc14binopencv_world340d.dll",找不到或打开PDB文件
- CMake 生成的 MSVC 项目找不到符号,即使为其相关 dll 正确生成了 lib 文件也是如此
- 错误:当我从"WinDbg"打开可执行文件时,找不到符号文件。默认导出 ntdll 的符号.dll
- 找不到 sdl2.dll
- Qt应用程序找不到第三方DLL并崩溃
- 链接器找不到导入的 DLL 的 LIB 文件
- 从Windows 10编译VS2017在Windows 7和…上部署..找不到DLL
- 提升 Python 找不到 dll 文件
- CMAKE链接在Windows上共享库(LIB),但找不到DLL
- Windows找不到DLL在路径中的目录中以为其
- 找不到 DLL 入口点
- Maven NAR插件:在路径上找不到DLL依赖项
- 使用Visual Studio 11 RC调试时找不到DLL依赖项
- 执行程序时找不到 DLL (c++)
- 错误 LNK2019:未解析的外部符号链接器找不到 DLL
- WinDbg 表示在映像列表中找不到".dll"
- c# / c++在相同的解决方案- DllImport找不到DLL
- exe路径中找不到DLL
- Azure WebJob 找不到 DLL
- 为什么当我只使用静态.lib时,Windows会告诉我找不到.dll文件