Подтвердить что ты не робот

Разница между VsDevCmd.bat & vcvarsall.bat в VS2012

Какая разница между:

  • VsDevCmd.bat(команда разработчика для VS2012)
  • vcvarsall.bat(VS2012 x86\x64\ARM Native\Cross Tools Command Prompt)

У меня довольно хорошее понимание vcvarsall.bat, поскольку оно было частью Visual Studio для многих предыдущих версий. vcvarsall.bat был в основном моим инструментом goto для msbuild, даже при создании .NET-проектов, хотя это технически часть Visual С++.

То, что я не очень хорошо понимаю, это VsDevCmd.bat. Это похоже на VS2012, и я не уверен, что это за цель. Я заметил это не в папке Visual С++, например, vcvarsall.bat, но в папке "Инструменты Visual Studio". Должен ли я делать мои .NET msbuilds в этом инструменте сейчас? Если да, то как настроить одинаковые типы x64\x86\ARM по умолчанию, например vcvarsall.bat.

4b9b3361

Ответ 1

Из моего понимания и просмотра различных командных скриптов в VS2012:

vcvarsall.bat, вызываемый с помощью x86 (или просто vcvarsall.bat без опции, по умолчанию для x86) идентичен VsDevCmd.bat. Пакетный файл, который vcvarsall.bat вызывает при передаче с параметром x86, -

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.