【问题标题】:Difference between VsDevCmd.bat & vcvarsall.bat in VS2012VS2012中VsDevCmd.bat和vcvarsall.bat的区别
【发布时间】:2012-11-26 07:08:40
【问题描述】:

两者有什么区别:

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

我对@9​​87654323@ 有很好的理解,因为它是许多以前版本的 Visual Studio 的一部分。 vcvarsall.bat 基本上是我用于 MsBuild 的 goto 工具,即使在构建 .NET 项目时也是如此,尽管它在技术上是 Visual C++ 的一部分。

我不太了解的是VsDevCmd.bat。 VS2012 似乎是新的,我不确定它的目的是什么。我注意到它不在像vcvarsall.bat 这样的Visual C++ 文件夹中,而是在Visual Studio Tools 文件夹中。我现在应该在这个工具中做我的 .NET msbuilds 吗?如果是这样,我该如何设置与 vcvarsall.bat 相同类型的 x64\x86\ARM 默认值?

【问题讨论】:

    标签: msbuild visual-studio-2012


    【解决方案1】:

    根据我的理解和查看 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。

    【讨论】:

      猜你喜欢
      • 2016-02-07
      • 2017-08-05
      • 2021-01-22
      • 2013-08-10
      • 1970-01-01
      • 2011-10-12
      • 2011-02-17
      • 2016-10-18
      • 2012-07-03
      相关资源
      最近更新 更多