Ejecute las herramientas de línea de comandos de Visual Studio en Windows Powershell

10

En cmd.exe, simplemente ejecutaría

%VS80COMNTOOLS%\vsvars32.bat

para configurar el entorno para ejecutar las herramientas de línea de comandos de Visual Studio (es decir, cl, link, mt, etc.). Me pregunto cómo puedo configurar el entorno para ejecutar estas herramientas en Powershell. Claro, es posible ejecutar archivos por lotes usando

start-process $env:vs80comntools\vsvars32.bat

pero entonces el entorno desaparecería cuando el proceso finalice. Ya he hecho algunos experimentos con System.Diagnostics.StartProcessInfo, es decir

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

y luego obtener el entorno, $procInfo.EnvironmentVariablespero esto tampoco funciona.

¿Hay alguna otra forma de configurar el entorno en Powershell?

Uwe Honekamp
fuente

Respuestas:

2

PSCX's Import-VisualStudioVarses un script grande que intenta duplicar lo que vsvars32.bathace. El problema es que mantenerlos sincronizados requiere esfuerzo y puede ser una fuente de errores.

Prefiero confiar en vsvars32.bat para hacer lo que hace e importar el entorno. vars. en PowerShell. Lo hago con Invoke-CmdScript.ps1 .

Jay Bazuzi
fuente
Gracias por la respuesta. Ya he considerado que Import-VisualStudioVar se burla más o menos de la ejecución de vsvars32.bat en lugar de ejecutarlo realmente. Sin embargo, al ver que vsvars32.bat es bastante estable para una versión específica de VS, realmente no creo que haya un problema real de mantener sincronizados los resultados de ambas opciones. Sin embargo, intentaré su propuesta.
Uwe Honekamp
0

Otra opción de la galería de PowerShell: posh-vs Hace que las herramientas de línea de comandos de Visual Studio estén disponibles en PowerShell. Admite Visual Studio 2017 y 2015.

IT-Rafa
fuente