離線安裝MSBuild工具至Windows容器
在受管制的網路環境,需要在 Windows 容器內去安裝 MSBuild 工具,MSBuild 工具大約區分二個版本,Build Tools 2015 與 Build Tools for Visual Studio (2017, 2019)。
下載 Build Tools 2015 工具
Microsoft Build Tools 2015 下載後,可以利用 -?
呼叫出參數說明視窗:
BuildTools_Full.exe /?
安裝 Build Tools 2015 工具至 Windows 容器
要將執行檔放入 Windows 容器有二種方法:docker run -v
或 docker cp
,然後進入容器內執行:
Start-Process .\BuildTools_Full.exe -ArgumentList '/norestart', '/noweb', '/quiet' -NoNewWindow -Wait
在路徑 C:\Program Files (x86)\MSBuild\14.0\Bin
找到 MSBuild.exe
執行檔。
下載 Build Tools for Visual Studio
在 Visual Studio 2017 之後,改由 https://visualstudio.microsoft.com/zh-hant/downloads/ 進行下載 Build Tools 工具,在「所有下載」展開「Visual Studio 2019 的工具」就能看到「Build Tools for Visual Studio 2019」進行下載。
vs_buildtools__1311533254.1570068894.exe -?
新版 Build Tools 安裝程式多了許多參數,而且這一次比較好,它會打開一個 help.html 網頁讓我們比較好閱讀。
vs_buildtools__1311533254.1570068894.exe --layout d:\msbuild --add Microsoft.VisualStudio.Workload.MSBuildTools --add Microsoft.VisualStudio.Workload.WebBuildTools --add Microsoft.VisualStudio.Workload.NetCoreBuildTools --includeRecommended --includeOptional --lang en-US
這裡和前面不同,Build Tools 2015 的安裝檔命名 BuildTools_Full.exe 就很明顯了,它是單一安裝檔。但 Visual Studio 2017 之後,Build Tools 分解的更細,所以我們可以參考Visual Studio Build Tools 元件目錄去我們想要下載項目。上面的參數,我們下載了 MSBuildTools
、WebBuildTools
、NetCoreBuildTools
三個版本。
安裝 Build Tools for Visual Studio 工具至 Windows 容器
有了離線檔案後,步驟就和前面一樣了。不過由於 Build Tools for Visual Studio 下載回來是小而多個的檔案,比較不合適 docker cp
,使用 docker run -v
會是比較好的。
Start-Process .\vs_BuildTools.exe -ArgumentList '--add', 'Microsoft.VisualStudio.Workload.MSBuildTools', '--quiet', '--norestart', '--nocache', '--noweb' -NoNewWindow -Wait
Start-Process .\vs_BuildTools.exe -ArgumentList '--add', 'Microsoft.VisualStudio.Workload.WebBuildTools', '--quiet', '--norestart', '--nocache', '--noweb' -NoNewWindow -Wait
Start-Process .\vs_BuildTools.exe -ArgumentList '--add', 'Microsoft.VisualStudio.Workload.NetCoreBuildTools', '--quiet', '--norestart', '--nocache', '--noweb' -NoNewWindow -Wait
依所需選擇安裝 Build Tools 工具元件版本。
在路徑 C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin
找到 MSBuild.exe
執行檔。
小結
通常可以網路連線環境,其實不用那麼麻煩。可以參考將 Build Tools 安裝至容器來自己建置含 Build Tools 的映像檔。或者是,採用 .NET Framework SDK 或 microsoft/aspnetcore-build 的映像檔就已經內含 Build Tools 了。
沒有留言:
張貼留言
感謝您的留言,如果我的文章你喜歡或對你有幫助,按個「讚」或「分享」它,我會很高興的。