有什么区别:
我对vcvarsall.bat非常了解,因为它是许多以前版本的Visual Studio的一部分。 vcvarsall.bat基本上是我的msbuild的goto工具,即使在构建.NET项目时,即使它在技术上是Visual C ++的一部分。
我对VsDevCmd.bat的了解不多。 VS2012似乎是新的,我不确定它的目的是什么。我注意到它不在像vcvarsall.bat这样的Visual C ++文件夹中,但它位于Visual Studio Tools文件夹中。我现在应该在这个工具中做我的.NET msbuild吗?如果是这样,我如何设置相同类型的x64 \ x86 \ ARM默认值,如vcvarsall.bat。
答案 0 :(得分:5)
根据我的理解并查看VS2012中的各种批处理脚本:
使用x86调用的vcvarsall.bat(或者只是没有选项的vcvarsall.bat,默认为x86)与VsDevCmd.bat相同。使用x86选项传递时vcvarsall.bat调用的批处理文件是C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\vcvars32.bat
此文件与位于
中的VsDevCmd.bat文件相同C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Tools\VsDevCmd.bat
这是从开始菜单打开时开发人员命令提示符调用的内容。
因此,为了更好地控制平台,最好使用传递的适当选项调用vcvarsall.bat:x86或amd64或arm或x86_amd64或x86_arm。