在没有VS11 Beta的计算机上运行在VS11 Beta上开发的应用程序



我使用Visual Studio 11 Beta开发了一个应用程序。该应用程序无法在没有安装VS 11 Beta的计算机上运行...

我已经安装了.NET Framework 4.5,但它没有帮助...

有没有人对我应该安装或添加什么文件有任何建议,以便让它在任何没有VS11的计算机上工作?

在使用 Visual Studio 创建新C++应用程序时创建新项目时,默认情况下,此项目已将"运行时库"选项设置为/MD(用于发布配置)或 /MDd (用于"调试"。"使用此选项编译的应用程序静态链接到MSVCRT.lib。此库提供了一个代码层,允许链接器解析外部引用。实际工作代码包含在 MSVCR* 中DLL,必须在运行时可用于与 MSVCRT.lib 链接的应用程序。

您需要做的是转到项目设置、配置属性 -> C/C++ -> 代码生成,并将运行时库更改为多线程 (/MT) 以进行发布/将多线程调试 (/MTd) 更改为用于调试。这将导致运行时库静态链接,并且应用程序不会尝试在运行时加载该 DLL。

检查运行时依赖关系的好方法是使用依赖关系查看器
您构建应用程序并将应用程序(.exe)拖放到其中,它将显示其依赖项,您现在可能会在其中看到MSVCR110.DLL。将运行时库的使用更改为/MT 时,请重新生成应用并检查此依赖项是否已真正消失:)

最新更新