Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法加载托管C++;dll转换为C#dll_C# - Fatal编程技术网

无法加载托管C++;dll转换为C#dll

无法加载托管C++;dll转换为C#dll,c#,C#,我有一个C#应用程序,它与任何CPU一样使用平台目标构建。它引用了一个以平台目标为Win32构建的托管C++应用程序。但是,C++ DLL的加载在运行时失败,并存在以下错误。无法加载文件或程序集“abc_调试,版本=0.0.0.0,区域性=中性,PublicKeyToken=null”或其依赖项之一。尝试访问无效地址。(HRESULT异常:0x800701E7) 谁能给我一些什么错误的提示? < P>如果你在X64架构上运行应用程序,那么你的应用程序就开始了X64,然后它就不能加载C++引用。如

我有一个C#应用程序,它与任何CPU一样使用平台目标构建。它引用了一个以平台目标为Win32构建的托管C++应用程序。但是,C++ DLL的加载在运行时失败,并存在以下错误。无法加载文件或程序集“abc_调试,版本=0.0.0.0,区域性=中性,PublicKeyToken=null”或其依赖项之一。尝试访问无效地址。(HRESULT异常:0x800701E7)



谁能给我一些什么错误的提示?

< P>如果你在X64架构上运行应用程序,那么你的应用程序就开始了X64,然后它就不能加载C++引用。如果没有AnyCpu的所有依赖项,就不能构建应用程序,否则将x86设为目标。

如果你在X64架构上运行应用程序,那么你的应用程序将从x64开始,然后无法加载C++引用。如果没有任何CPU可用的所有依赖项,则无法将应用程序构建为任何CPU,否则将x86设置为目标。

一般来说,对于托管DLL的任何加载问题,最好使用它可以提供更多详细信息。

一般来说,对于托管DLL的任何加载问题,最好使用它,可以给你更多的细节。< /P>你如何加载C++ DLL,你能粘贴DLL部分加载的代码吗?这是一个非常低的错误,当DLL通过DLLIN()初始化它时出错。启用非托管代码调试,并交叉手指,您将看到输出窗口中的第一个机会异常。C++是一个托管C++ DLL。所以我在C++应用程序中直接引用它。如果在运行时失败,加载。有什么想法?你是如何加载C++ DLL的,你能粘贴DLL部分加载的代码吗?这是一个非常低的错误,当DLL通过DLLIN()初始化它时出错。启用非托管代码调试,并交叉手指,您将看到输出窗口中的第一个机会异常。C++是一个托管C++ DLL。因此,我直接在我的C#应用程序中引用它。如果在运行时失败,则加载。有什么想法吗?您好,谢谢大家的回答。我检查了fusion日志,它似乎在抱怨msvcm80.dll.BTW我确实安装了vc redistributable,FYII使用了fuslogv.exe…我在默认视图中看到,此特定dll的借用是成功的。但是我在本机映像中看到一个错误,该dll的绑定没有成功。它没有提供任何其他信息。有什么想法吗?如果您发现加载问题在本机世界中,第一步是使用dependecywalker并查看是否所有需要的依赖项都存在。我确实使用DependencyWalker进行了检查,它抱怨其某些依赖dll缺少MSVCP80D.dll和MSVCR80.dll。不过,MSVCR80.dll是为该dll而设计的,但缺少相关dll。不知道发生了什么。任何想法都会有帮助。您好,谢谢大家的回复。我检查了fusion日志,它似乎在抱怨msvcm80.dll.BTW我确实安装了vc redistributable,FYII使用了fuslogv.exe…我在默认视图中看到,此特定dll的借用是成功的。但是我在本机映像中看到一个错误,该dll的绑定没有成功。它没有提供任何其他信息。有什么想法吗?如果您发现加载问题在本机世界中,第一步是使用dependecywalker并查看是否所有需要的依赖项都存在。我确实使用DependencyWalker进行了检查,它抱怨其某些依赖dll缺少MSVCP80D.dll和MSVCR80.dll。但是,MSVCR80.dll对此dll已过时,但从属dll缺少。不知道发生了什么。任何想法都会有帮助。我确实将平台目标设置为x86并重建了它。它仍会引发相同的异常。发布模式正常。当我在dependency walker中检查dll时,它在加载时遇到问题,它抱怨MSVCP80D.dll和MSVCR80D.dllI确实将平台目标设置为x86并重建了它。它仍然抛出相同的异常。Wel发布模式正常。当我在dependency walker中检查dll时,它在加载时遇到问题,它会抱怨MSVCP80D.dll和MSVCR80D.dll