VsDevCmd.bat与&之间的区别VS2012中的vcvarsall.bat

时间:2012-12-08 04:07:59

标签: msbuild visual-studio-2012

有什么区别:

  • VsDevCmd.bat(VS2012的开发人员命令提示符)
  • vcvarsall.bat(VS2012 x86 \ x64 \ ARM Native \ Cross Tools命令提示符)

我对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。

1 个答案:

答案 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。