10

В cmd.exe я бы просто запустил

%VS80COMNTOOLS%\vsvars32.bat

настроить среду для запуска инструментов командной строки Visual Studio (например, cl, link, mt и т. д.). Интересно, как я могу настроить среду для запуска этих инструментов в Powershell. Конечно, можно запускать командные файлы, используя

start-process $env:vs80comntools\vsvars32.bat

но тогда среда исчезнет, когда процесс завершится. Я уже провел несколько экспериментов с системой.Диагностика.StartProcessInfo, т.е.

$proc = start-process $env:vs80comntools\vsvars32.bat -passthru
$procInfo = proc.StartInfo

а затем получить окружение из $procInfo.EnvironmentVariables но это также не работает.

Существуют ли другие способы настройки среды в Powershell?

3 ответа3

5

Расширения сообщества PowerShell имеют командлет Import-VisualStudioVars .

2

Import-VisualStudioVars PSCX - это большой скрипт, который пытается дублировать действия vsvars32.bat . Проблема в том, что их синхронизация требует усилий и может стать источником ошибок.

Я предпочитаю полагаться на vsvars32.bat, чтобы делать то, что он делает, и импортировать env. вары. в PowerShell. Я делаю это с Invoke-CmdScript.ps1.

0

Еще один вариант из галереи PowerShell: posh-vs Делает инструменты командной строки Visual Studio доступными в PowerShell. Поддерживает Visual Studio 2017 и 2015.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .