Ich mache eine Build-Datei in Powershell. Diese Build-Datei muss auf die Visual Studio 2017-Version von MSBuild.exe verweisen. Leider hängt der Pfad zu dieser Datei von der Edition von Visual Studio ab, die Sie installiert haben.Finden Sie eine Datei effizient, von der ich den Unterpfad kenne, aber nicht den Stammordner
Zum Beispiel:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin
C:\Program Files (x86)\Microsoft Visual Studio\2017\Pro\MSBuild\15.0\Bin
Natürlich kann ich
$partial = ${env:ProgramFiles(x86)} + '\Microsoft Visual Studio\2017\'
Get-ChildItem -Path $partial -Filter 'MsBuild.exe' -Recurse
verwenden Aber es gibt viele andere Dateien und Ordner unter C:\Program Files (x86)\Microsoft Visual Studio\2017\
.
Leider etwas wie das funktioniert nicht:
Get-ChildItem -Path $partial -Filter '\MSBuild\15.0\Bin\MsBuild.exe' -Recurse
Gibt es eine Möglichkeit, ich Powershell einen besseren Hinweis geben kann, wo für MSBuild.exe aussehen?
würde ich vorschlagen, dass vielleicht könnten Sie einmal suchen und dann irgendwo die Antwort zwischenspeichern. –
Vielleicht ein Registrierungsschlüssel mit dem installierten Pfad? –
Um Marks Kommentar zu erweitern, enthält der [Deinstallationsschlüssel] (https://msdn.microsoft.com/en-us/library/windows/desktop/aa372105 (v = vs.85) .aspx) wahrscheinlich diese Informationen. Seien Sie vorsichtig bei 32/64 Bitness, da die Werte auch in 'WOW6432Node' existieren. – BenH