Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.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
与VS2005并排舱单问题&;VS2008 我在VS2008中构建了一个C++项目。此项目还链接到使用VS2005构建的库(DLL+导入库),从而加载VS2005调试CRT库(所有内容都是调试构建)_C++_Visual Studio 2008_Visual Studio 2005_Manifest_Side By Side - Fatal编程技术网

与VS2005并排舱单问题&;VS2008 我在VS2008中构建了一个C++项目。此项目还链接到使用VS2005构建的库(DLL+导入库),从而加载VS2005调试CRT库(所有内容都是调试构建)

与VS2005并排舱单问题&;VS2008 我在VS2008中构建了一个C++项目。此项目还链接到使用VS2005构建的库(DLL+导入库),从而加载VS2005调试CRT库(所有内容都是调试构建),c++,visual-studio-2008,visual-studio-2005,manifest,side-by-side,C++,Visual Studio 2008,Visual Studio 2005,Manifest,Side By Side,当试图运行这个在VS2008中构建的可执行文件时,我在加载时遇到了一个错误,因为VS2005 DLL找不到调试CRT库,即使我已经用SP1安装了VS2005。我也检查了Windows更新,所以我不确定还能做些什么 如何诊断此问题?我在Windows中查看了事件查看器,发现它找不到调试VC80 CRT库,但我只知道这些。我想这里有一个版本不匹配的地方,我只是不知道如何修复它,因为我对清单/并排的东西不太了解 我构建的操作系统是WindowsXP32位。我已经安装了VS2008 SP1和VS2005

当试图运行这个在VS2008中构建的可执行文件时,我在加载时遇到了一个错误,因为VS2005 DLL找不到调试CRT库,即使我已经用SP1安装了VS2005。我也检查了Windows更新,所以我不确定还能做些什么

如何诊断此问题?我在Windows中查看了事件查看器,发现它找不到调试VC80 CRT库,但我只知道这些。我想这里有一个版本不匹配的地方,我只是不知道如何修复它,因为我对清单/并排的东西不太了解


我构建的操作系统是WindowsXP32位。我已经安装了VS2008 SP1和VS2005 SP1(因此所有调试清单/CRT DLL都应该可用)

学习检查或创建或检查适当的


在Windows XP上,如果应用程序的本地文件夹中存在外部清单,则操作系统加载程序将使用此清单,而不是嵌入二进制文件中的清单。在Windows Server 2003和更高版本的Windows上,情况正好相反,外部清单将被忽略,并且在存在时使用嵌入的清单。

学习检查或创建或检查适当的清单


在Windows XP上,如果应用程序的本地文件夹中存在外部清单,则操作系统加载程序将使用此清单,而不是嵌入二进制文件中的清单。在Windows Server 2003和更高版本的Windows上,情况正好相反,外部清单将被忽略,并且在存在时使用嵌入式清单。

我是否正确理解您有一个使用VS2k8动态LIB的可执行文件A和一个使用VS2k5动态LIB的DLL B?库不匹配很可能不会出现。@SixlettVariables:这是正确的。但它应该能工作(在Windows7机器上也能工作)。但我正试图设置我的环境,让它在WindowsXP机器上工作(相同的代码,相同的DLL),但它就是不工作。我以前在Windows XP上使用过它,但很难得到一致的结果。Windows更新中的细微差别似乎会导致一切崩溃。类似的设置我遇到了很多麻烦。最好包含原始必需的DLL(而不是完整的CRT),最好从源代码在同一CRT中重建。@MPelletier我不知道你的意思。你不能部署依赖调试CRT的程序,它只有在机器安装了VS时才可用。您也确实希望避免一个程序使用多个版本的CRT,这可能会导致难以诊断内存损坏和泄漏。您需要重建DLL。我是否正确理解您有一个使用VS2k8动态库的可执行文件A和一个使用VS2k5动态库的DLL B?库不匹配很可能不会出现。@SixlettVariables:这是正确的。但它应该能工作(在Windows7机器上也能工作)。但我正试图设置我的环境,让它在WindowsXP机器上工作(相同的代码,相同的DLL),但它就是不工作。我以前在Windows XP上使用过它,但很难得到一致的结果。Windows更新中的细微差别似乎会导致一切崩溃。类似的设置我遇到了很多麻烦。最好包含原始必需的DLL(而不是完整的CRT),最好从源代码在同一CRT中重建。@MPelletier我不知道你的意思。你不能部署依赖调试CRT的程序,它只有在机器安装了VS时才可用。您也确实希望避免一个程序使用多个版本的CRT,这可能会导致难以诊断内存损坏和泄漏。您将需要重建DLL。