私はPowershellでビルドファイルを作っています。このビルドファイルは、MSBuild.exeのVisual Studio 2017バージョンを参照する必要があります。残念ながら、そのファイルへのパスは、インストールしたVisual Studioのエディションによって異なります。例えば私はサブパスを知っていて、ルートフォルダーは認識していないファイルを見つける
:
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
もちろん私は
$partial = ${env:ProgramFiles(x86)} + '\Microsoft Visual Studio\2017\'
Get-ChildItem -Path $partial -Filter 'MsBuild.exe' -Recurse
を使用することができます。しかし、他のファイルとフォルダの多くはC:\Program Files (x86)\Microsoft Visual Studio\2017\
の下にあります。
残念ながら、このようなものは動作しません:
Get-ChildItem -Path $partial -Filter '\MSBuild\15.0\Bin\MsBuild.exe' -Recurse
はからMSBuild.exeを検索する場所を私はPowerShellのより良いヒントを与えることができる方法はありますか?
のバージョンを選択します。 –
おそらく、インストールされたパスのレジストリキーですか? –
Markのコメントを拡大するには、[アンインストールキー](https://msdn.microsoft.com/en-us/library/windows/desktop/aa372105(v = vs.85).aspx)がその情報を保持している可能性があります。値が 'WOW6432Node'にも存在するので、32/64ビット数に注意してください。 – BenH