Esegui gli strumenti da riga di comando di Visual Studio in Windows Powershell


10

In cmd.exe, vorrei semplicemente eseguire

%VS80COMNTOOLS%\vsvars32.bat

per impostare l'ambiente per l'esecuzione degli strumenti da riga di comando di Visual Studio (ad esempio cl, link, mt, ecc.). Mi chiedo come posso impostare l'ambiente per l'esecuzione di questi strumenti in Powershell. Certo, è possibile eseguire file batch usando

start-process $env:vs80comntools\vsvars32.bat

ma poi l'ambiente sarebbe sparito al termine del processo. Ho già fatto alcuni esperimenti con System.Diagnostics.StartProcessInfo, vale a dire

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

e quindi ottenere l'ambiente da $procInfo.EnvironmentVariablesma anche questo non funziona.

Esistono altri modi per configurare l'ambiente in Powershell?

Risposte:



2

PSCX Import-VisualStudioVarsè uno script di grandi dimensioni che tenta di duplicare ciò che vsvars32.batfa. Il problema è che tenerli sincronizzati richiede uno sforzo e può essere fonte di bug.

Preferisco fare affidamento su vsvars32.bat per fare ciò che fa e importare env. Vars. in PowerShell. Lo faccio con Invoke-CmdScript.ps1 .


Grazie per la risposta. Ho già considerato che Import-VisualStudioVar prende più o meno in giro l'esecuzione di vsvars32.bat invece di eseguirlo effettivamente. Tuttavia, visto che vsvars32.bat è abbastanza stabile per una versione specifica di VS, non penso davvero che ci sia un vero problema nel mantenere sincronizzati i risultati di entrambe le opzioni. Tuttavia, proverò la tua proposta.
Uwe Honekamp,

0

Un'altra opzione dalla raccolta di PowerShell: posh-vs Rende disponibili gli strumenti da riga di comando di Visual Studio in PowerShell. Supporta Visual Studio 2017 e 2015.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.