我在Powershell中構建一個文件。此構建文件需要引用Visual Studio 2017版本的MSBuild.exe。不幸的是,該文件的路徑取決於您安裝的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
有沒有一種方法,我可以給PowerShell的更好的提示到哪裏尋找MsBuild.exe?
的版本,我會建議,也許你可以搜索一次,然後它緩存的答案。 –
也許一個註冊表鍵與已安裝的路徑? –
要擴展Mark的評論,[卸載密鑰](https://msdn.microsoft.com/en-us/library/windows/desktop/aa372105(v = vs.85).aspx)可能會保留該信息。只是要小心32/64位的值,因爲這些值也存在於'WOW6432Node' – BenH