Запускать инструменты командной строки Visual Studio в Windows Powershell
В cmd.exe я бы просто запустил
%VS80COMNTOOLS%\vsvars32.bat
настроить среду для запуска инструментов командной строки Visual Studio (например, cl, link, mt и т. д.). Интересно, как я могу настроить среду для запуска этих инструментов в Powershell. Конечно, можно запускать командные файлы, используя
start-process $env:vs80comntools\vsvars32.bat
но тогда среда исчезнет, когда процесс завершится. Я уже провел несколько экспериментов с System.Diagnostics.StartProcessInfo, т.е.
$proc = start-process $env:vs80comntools\vsvars32.bat -passthru
$procInfo = proc.StartInfo
а затем получить окружающую среду от $procInfo.EnvironmentVariables
но это тоже не работает.
Существуют ли другие способы настройки среды в Powershell?
3 ответа
Расширения сообщества PowerShell имеют Import-VisualStudioVars
Командлет.
PSCX-х Import-VisualStudioVars
это большой скрипт, который пытается дублировать то, что vsvars32.bat
делает. Проблема в том, что их синхронизация требует усилий и может стать источником ошибок.
Я предпочитаю полагаться на vsvars32.bat, чтобы делать то, что он делает, и импортировать env. вары. в PowerShell. Я делаю это с Invoke-CmdScript.ps1.
Еще один вариант из галереи PowerShell: posh-vs Делает инструменты командной строки Visual Studio доступными в PowerShell. Поддерживает Visual Studio 2017 и 2015.