Jalankan alat baris perintah Visual Studio di Windows Powershell

10

Di cmd.exe, saya hanya akan menjalankan

%VS80COMNTOOLS%\vsvars32.bat

untuk mengatur lingkungan untuk menjalankan alat-alat baris perintah Visual Studio (yaitu cl, tautan, mt, dll.). Saya bertanya-tanya bagaimana saya bisa mengatur lingkungan untuk menjalankan alat-alat ini di Powershell. Tentu, dimungkinkan untuk menjalankan file batch menggunakan

start-process $env:vs80comntools\vsvars32.bat

tetapi kemudian lingkungan akan hilang ketika proses berakhir. Saya sudah melakukan beberapa percobaan dengan System.Diagnostics.StartProcessInfo, yaitu

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

dan kemudian mendapatkan lingkungan dari $procInfo.EnvironmentVariablestetapi ini juga tidak berhasil.

Apakah ada cara lain untuk mengatur lingkungan di Powershell?

Uwe Honekamp
sumber

Jawaban:

2

PSCX's Import-VisualStudioVarsadalah skrip besar yang mencoba menduplikasi apa yang vsvars32.batdilakukannya. Masalahnya ada bahwa menjaga mereka dalam sinkronisasi membutuhkan usaha dan dapat menjadi sumber bug.

Saya lebih suka mengandalkan vsvars32.bat untuk melakukan apa yang dilakukannya, dan mengimpor env. vars. masuk ke PowerShell. Saya melakukannya dengan Invoke-CmdScript.ps1 .

Jay Bazuzi
sumber
Terima kasih balasannya. Saya sudah mempertimbangkan bahwa Import-VisualStudioVar lebih atau kurang mengejek pelaksanaan vsvars32.bat daripada benar-benar mengeksekusinya. Namun, melihat bahwa vsvars32.bat cukup stabil untuk versi spesifik VS, saya tidak benar-benar berpikir bahwa ada masalah nyata dalam menjaga hasil dari kedua opsi tetap sinkron. Namun demikian, saya akan mencoba proposal Anda.
Uwe Honekamp
0

Opsi lain dari galeri PowerShell: posh-vs Membuat alat baris perintah Visual Studio tersedia di PowerShell. Mendukung Visual Studio 2017 dan 2015.

IT-Rafa
sumber