Execute as ferramentas de linha de comando do Visual Studio no Windows Powershell

10

No cmd.exe, eu simplesmente executava

%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 desapareceria quando o processo terminasse. Eu já fiz alguns experimentos com System.Diagnostics.StartProcessInfo, ou seja,

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

e obtenha o ambiente, $procInfo.EnvironmentVariablesmas isso também não funciona.

Existem outras maneiras de configurar o ambiente no Powershell?

Uwe Honekamp
fonte

Respostas:

2

PSCX Import-VisualStudioVarsé um script grande que tenta duplicar o que vsvars32.batfaz. O problema é que mantê-los sincronizados requer esforço e pode ser uma fonte de bugs.

Prefiro confiar no vsvars32.bat para fazer o que faz e importar o ambiente. vars. no PowerShell. Eu faço isso com Invoke-CmdScript.ps1 .

Jay Bazuzi
fonte
Obrigado pela resposta. Eu já considerei que o Import-VisualStudioVar zomba mais ou menos da execução do vsvars32.bat em vez de realmente executá-lo. No entanto, como o vsvars32.bat é bastante estável para uma versão específica do VS, eu realmente não acho que exista um problema real de manter os resultados de ambas as opções em sincronia. No entanto, tentarei sua proposta.
Uwe Honekamp
0

Outra opção da galeria do PowerShell: posh-vs Disponibiliza as ferramentas de linha de comando do Visual Studio no PowerShell. Oferece suporte ao Visual Studio 2017 e 2015.

IT-Rafa
fonte