As Extensões da comunidade do PowerShell têm um cmdlet Import-VisualStudioVars
.
No cmd.exe, eu simplesmente rodaria
%VS80COMNTOOLS%\vsvars32.bat
para configurar o ambiente para executar as ferramentas de linha de comando do Visual Studio (por exemplo, cl, link, mt etc.). Gostaria de saber como posso configurar o ambiente para executar essas ferramentas no Powershell. Claro, é possível executar arquivos em lote usando
start-process $env:vs80comntools\vsvars32.bat
mas o ambiente desaparecerá quando o processo terminar. Eu já fiz algumas experiências com o System.Diagnostics.StartProcessInfo, por exemplo
$proc = start-process $env:vs80comntools\vsvars32.bat -passthru
$procInfo = proc.StartInfo
e, em seguida, obter o ambiente de $procInfo.EnvironmentVariables
, mas isso também não funciona.
Existem outras maneiras de configurar o ambiente no Powershell?
As Extensões da comunidade do PowerShell têm um cmdlet Import-VisualStudioVars
.
O Import-VisualStudioVars
do PSCX é um script grande que tenta duplicar o que o vsvars32.bat
faz. O problema é que mantê-los sincronizados requer esforço e pode ser uma fonte de erros.
Eu prefiro confiar em vsvars32.bat para fazer o que ele faz e importar o env. vars. no PowerShell. Eu faço isso com Invoke-CmdScript.ps1 .