VS2017 MSBuild 離線安裝
1 |
工作環境的網路管制多,簡單的事也變得有挑戰性。最近在測試 Jenkins,需在伺服器安裝 MSBuild 以自動編譯 Visaul Studio 專案,原本是下載、執行、下一步、下一步就搞定的小事,遇到安裝主機無法連上 Internet 就沒這麼簡單了。
Microsoft Build Tools 2015 的下一版不是 Microsoft Build Tools 2017,到 VS2017 變成 Build Tools for Visual Studio 217,採取隨選下載安裝概念,但如果要安裝的主機無法連上 Internet,需要費點手腳準備離線安裝檔。
做法如下:參考
- 從網站找到 Build Tools for Visual Studio 217 下載安裝程式(vs_buildtools_xxxxx.exe)
- vs_buildtools_*.exe 可用來下載指定 Workload (工作負載) 儲存到指定目錄產生離線安裝包,但要先知道需下載哪些 Workload。
Visual Studio Build Tools 2017 元件目錄有完整 Workload 清單,可用來查詢 需要安裝的項目。 - 輸入參數執行 vs_buildtools_*.exe 開始下載,以我的案例主要想編譯 ASP.NET 或 .NET Core 專案,故參數範例如下:
vs_buildtools__617189595.1457490463.exe --layout X:\Temp\BuildTools --add Microsoft.VisualStudio.Workload.MSBuildTools --add Microsoft.VisualStudio.Workload.WebBuildTools --add Microsoft.VisualStudio.Workload.NetCoreBuildTools --includeRecommended --includeOptional --lang en-US
- 下載後會冒出一堆資料夾,將其複製到目標主機。
- certificates 目錄下有幾張根憑證,考量目標主機因無法上網有驗證問題,需手動匯入。(註:建議手動選取「受信任的根憑證授權單位」)
- 安裝好憑證,執行
vs\_buildtools\_*.exe --noweb
安裝程式會跳過下載步驟直接安裝,但走的仍是 Visual Studio 2017 標準安裝介面:
補充一點,如上圖安裝介面有一些選擇性安裝項目,有一些預設已勾選,這部分未包含在 Workload 下載檔案裡,需搭配參數 --includeRecommended 或 --includeOptional 預先下載。如要安裝預設勾選項目,要加 --includeRecommended,若要額外加裝其他選擇性項目,則要加上 --includeOptional。若不在意多花時間下載及多佔空間,指定 --includeRecommended --includeOptional 全都包進來較省事。
安裝完畢,找到 MSBuild 安裝路徑 C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin,隨便找個測試專案,執行 msbuild C:\Temp\NameStamp\NameStamp.sln
,編譯成功。
When installing VS build tools on a machine without Internet connection, you need to download the workload in another computer and copy the offline setup files. This article provides the recommended steps.
Comments
# by Friend
十分感謝!!!