C++/C#参考 我用VS2013创建了一个CyvWiFrm应用程序,它包含C++ DLL,我也有代码。 此应用程序在我的win7 64位计算机上运行良好。 当我在同事的机器上运行它进行部署测试时(相同的硬件,相同的操作系统,没有VS2013),应用程序崩溃,并且说无法找到其中一个C++ DLL或它的依赖项。

C++/C#参考 我用VS2013创建了一个CyvWiFrm应用程序,它包含C++ DLL,我也有代码。 此应用程序在我的win7 64位计算机上运行良好。 当我在同事的机器上运行它进行部署测试时(相同的硬件,相同的操作系统,没有VS2013),应用程序崩溃,并且说无法找到其中一个C++ DLL或它的依赖项。,c#,c++,dll,C#,C++,Dll,在我的计算机上运行dependency walker时,它列出了与此线程中相同的丢失DLL: 我遵循了上面提到的解决方案,安装了C++可重构包2005, 2008, 2010、2012和2013,但没有成功。 所有项目都以.NET4.0(x86)为目标。C++项目中包含了大量的外部引用,但仅限于.NET DLL和C++头文件,其中大部分来自C:\程序文件(x86)\微软Visual Studio 12 \VC 我不需要部署头文件,是吗 有人知道如何继续吗? < P>这可能是因为你的C++ DL

在我的计算机上运行dependency walker时,它列出了与此线程中相同的丢失DLL:

<>我遵循了上面提到的解决方案,安装了C++可重构包2005, 2008, 2010、2012和2013,但没有成功。 所有项目都以.NET4.0(x86)为目标。C++项目中包含了大量的外部引用,但仅限于.NET DLL和C++头文件,其中大部分来自C:\程序文件(x86)\微软Visual Studio 12 \VC 我不需要部署头文件,是吗


有人知道如何继续吗?

< P>这可能是因为你的C++ DLL是调试构建,并与VS版本的VC++运行库的动态版本进行动态链接。您可以构建C++的DLL的发布版本,并使用这些版本,在这种情况下,安装的VC++可重分发包应该提供正确的运行库,或者您可以获得所需的VC++运行库的调试版本,并确保这些在目标机上存在。

如果你必须使用C++的DLL的调试版本,那么微软提供了一些关于如何安装测试机器的说明。

是C++的DLL发布或调试构建?调试构建,也可能是问题的C。下载VC++ReDIST包时,可能不包括与C++ DLL链接的调试版本。尝试使用C++的DLL的发布版本,看看它是否有效,然后你就知道这是问题。避免DLL地狱的另一种方法是静态链接,它有问题列出,但没有DLL HELL。你可以使用ILISTION(ILSPION.NET)来查看加载程序集/DLL的问题。谢谢你的建议,听起来很不错。由于我的日程安排,我不能在下星期四之前测试它,但我肯定会在这里发布结果。在为“发布”构建DLL之后,一切正常。我没有意识到配置的差异。