当我尝试在带有 Windows Server 2008 32 位操作系统的 VMWare Workstation 6.5 中打开已发布的 .exe 文件(我在 Visual Studio 2008 中编写的)时,得到“应用程序无法启动,因为它的并排配置不正确。” 即使代码是错误的;
#include <stdio.h>
int main ()
{
printf ("HELLO\n");
return 0;
}
有没有人遇到过这个问题之王或知道如何应对?
当我尝试在带有 Windows Server 2008 32 位操作系统的 VMWare Workstation 6.5 中打开已发布的 .exe 文件(我在 Visual Studio 2008 中编写的)时,得到“应用程序无法启动,因为它的并排配置不正确。” 即使代码是错误的;
#include <stdio.h>
int main ()
{
printf ("HELLO\n");
return 0;
}
有没有人遇到过这个问题之王或知道如何应对?
您可能忘记部署运行时支持 DLL或复制程序的调试版本。对于像这样没有导出 C++ 类或指针的 DLL 的小程序,最好链接 CRT 的静态版本。项目 + 属性、C/C++、代码生成、/MTd。重复发布配置,现在选择 /MT。
它与 VMWare 无关——它与没有为 C 运行时安装正确的并行程序集有关。您需要知道您需要哪些,然后安装运行时。您也可以使用清单来控制它。
这里有一些信息
http://en.wikipedia.org/wiki/Side-by-side_assembly
解决此问题的一种简单方法(对于 C/C++ 程序)是更改为静态链接到 C 运行时。转到您的项目属性,然后转到代码生成,然后为 C 运行时选择静态链接。这样您就不会依赖运行时 dll。您可能正在使用的所有库都需要以这种方式链接才能正常工作。
如果构建程序的 C/C++ 运行时未安装在 VM 中,我通常会收到此错误。您可以在Microsoft 网站下载 Visual Studio 2008 SP1 的 CRT 。确保根据用于构建应用程序的 Visual Studio 版本下载正确版本的 CRT。