Visual Studio 2017 15.6 版 - 版本資訊
開發人員社群 | 系統需求 | 相容性 | 可散發程式碼 | 授權條款 | 部落格 | 已知問題
注意
這不是 Visual Studio 的最新版本。 若要下載最新版本,請參閱 Visual Studio 的網站。
支援時間範圍
此版本現在已不支援。 如需 Visual Studio 支援的詳細資訊,請參閱 Visual Studio 2017 的支援原則。
請參閱最新版的版本資訊,或造訪 Visual Studio 網站以下載最新支援的 Visual Studio 2017 版本。
Visual Studio 2017 15.6 版的版本
- 2018 年 4 月 26 日 -- Visual Studio 2017 15.6.7 版服務更新
- 2018 年 4 月 10 日 -- Visual Studio 2017 15.6.6 版服務更新
- 2018 年 4 月 4 日 -- Visual Studio 2017 15.6.5 版服務更新
- 2018 年 3 月 22 日 -- Visual Studio 2017 15.6.4 版服務更新
- 2018 年 3 月 19 日 -- Visual Studio 2017 15.6.3 版服務更新
- 2018 年 3 月 13 日 -- Visual Studio 2017 15.6.2 版服務更新
- 2018 年 3 月 8 日 -- Visual Studio 2017 15.6.1 版服務更新
- 2018 年 3 月 5 日 -- Visual Studio 2017 15.6.0 版服務更新
15.6 中值得注意的新功能摘要
- 修正 CVE-2018-1037 中所述的 PDB 安全性問題。
- 我們已將設計階段的組建最佳化,以改善方案載入的效能。
- 我們在 Visual Studio 安裝程式 上新增了安裝進度詳細資料。
- 您可以暫停安裝,並於稍後繼續。
- 我們已簡化更新程序;您可以透過通知直接執行安裝程式。
- 非系統管理員可以建立 VS 配置。
- 我們在鍵盤對應中,新增了 Edit.Duplicate 的快速鍵。
- 我們特別針對 .NET Core SDK 專案的 F# 語言和工具做出重大改善。
- C++ 編譯器中的其他最佳化允許更快速地執行您的程式碼。
- 在完整連結案例中產生 C++ 對應檔的額外負荷已降低。
- 內嵌 ARM GCC 支援也提供偵錯選項。
- 我們新增了 C# 編譯器的 CoreCLR 強式名稱簽署。
- Visual Studio Tools for Xamarin 具有許多針對 iOS 和 Android 開發人員的全新生產力更新。
- Python 已不再需要完成 DB,且 Conda 也可支援 Anaconda 使用者。
- 效能分析工具的 CPU 使用量工具可以顯示非同步程式碼的邏輯呼叫堆疊。
- CPU 使用量工具可醒目標示原始程式碼和含有邏輯「呼叫堆疊拼接」的非同步/等候程式碼。
- 偵錯工具支援在傾印偵錯中透過 SetThreadDescription API 所設定的執行緒名稱。
- 您可以從 ASP.NET 應用程式的 [偵錯目標] 下拉式功能表啟動快照偵錯。
- 針對 .NET 程式碼巡覽,我們啟動了巡覽至反向組譯來源的初始實作。
- 現在,您可以按一下 Team Explorer 中的持續傳遞磚,以設定應用程式的自動化建置與部署。
- 設定持續傳遞的全新增強功能包含支援 TFVC、透過 SSH 的 Git 驗證,以及容器化專案。
- Team Explorer 支援 Git 標記和簽出提取要求分支。
- 現已提供適用於 6.1 Service Fabric 版本的 Service Fabric 工具。
- 您可以將 Windows 10 Insider Preview SDK 以選用元件的形式安裝。
- 部分 Visual Studio 可執行檔的檔案版本現可看出次要版本。
- 測試總管具有階層檢視,且即時測試探索現在預設為開啟。
- 我們已新增支援測試 Win10 IoT Core 應用程式。
- Visual Studio Build Tools 支援 TypeScript 和 Node.js。
- ClickOnce Tools 支援使用 CNG 憑證,簽署應用程式和部署資訊清單。
- 您可以使用 Visual Studio 帳戶存取 Key Vault 等 Azure 資源。
15.6 中修正的最常出現問題
這些是 15.6 中已解決的客戶回報問題:
- 調整視窗大小的功能不穩定。
- 如果 .NET Core 專案包含特殊字元,就無法還原 NuGet 套件或組建。
- 無法記憶測試總管預設架構。
- 關閉 Visual Studio 之後,[方案總管] 無法保持釘選狀態。
- 一般 UI 會在偵錯工作階段期間凍結。
- 重新開啟專案時,檔案名稱會還原成小寫。
- 滑鼠游標與指標 (手部) 圖示黏在一起。
- VSIXAutoUpdate 在排程工作時當機。
- 啟動時會產生「我們注意到 [錯誤清單] 工具視窗讓 Visual Studio 變慢」的警示。
- 切換至全螢幕之後,快速啟動就不會再顯示結果。
- XAML 活動設計工具會因為失敗的組件參考解析而擲回 OutOfMemoryException。
- 使用 Selenium WebDriver 時,無法停止/取消已偵錯的單元測試。
- 使用 /quiet 參數時,vsixinstaller.exe 不會在安裝結束時結束。
查看 Visual Studio 2017 15.6 版中已修正的所有客戶回報問題。
15.6 新功能的詳細資料
Visual Studio 2017 15.6.0 版
於 2018 年 3 月 5 日發行
15.6 的新功能
效能
在 15.6 中,我們持續改善方案載入效能,特別是針對會將設計階段建置結果快取的案例。 當電腦已開啟方案時,大型 C# 和 Visual Basic 方案的載入速度會比之前快兩倍。
.NET Core 方案載入
我們將焦點放在 .NET Core;根據實驗室的測量資料,客戶應可獲得平均速度加快 20% 的方案載入時間。
UI 回應性通知
為了讓您一目了然延伸模組對效能和可靠性的影響,Visual Studio 會執行即時分析,以判斷延伸模組是否可能是造成無法回應的原因。 如果 Visual Studio 判定某個延伸模組造成了停止回應,會顯示通知讓使用者能停用可疑的延伸模組或隱藏該延伸模組日後的通知 (圖 1)。
安裝和設定
- 在此版本中,不具管理權限的使用者可以建立 Visual Studio 版面配置,讓非系統管理員可建立離線網路安裝。
- 第一次安裝 Visual Studio 或透過網站進行更新時,您會發現 Visual Studio 安裝程式提供了全新且更一目了然的安裝體驗。 深入來看,其實沒有任何變更,但全新的體驗會逐步示範所有狀況 (圖 2)。
安裝詳細資料
新的安裝詳細資料 (圖 5) 可讓您查看下載大小、下載完成百分比和下載的速率。 您也可以查看正在安裝的套件總數以及剩餘的數目。
注意
若您暫停安裝並於稍後繼續,則會從下載和安裝的餘數繼續進行,而不會從先前的計數開始。
IDE 設定
我們簡化了更新程序,讓 Visual Studio 中的更新通知直接帶您前往安裝程式,而不需透過 [延伸模組和更新]。
已更新「ASP.NET 與網頁程式開發」和「.NET Core 跨平台開發」的工作負載,以包括「網頁程式開發的雲端工具」。 此元件包含從 Visual Studio 內取用 Azure Functions 的一切所需。
注意
從 15.6 Preview 3 更新至 Preview 4 或更高版本時,電腦可能會自動重新啟動,而不通知使用者或與其進行確認。
編輯器的改善
- 我們在預設的鍵盤對應中,新增 Ctrl+D 作為 Edit.Duplicate 的快速鍵。 先前的同步選取 (Ctrl+E、V) 仍可運作,且所有鍵盤對應配置均適用。
- 我們新增了 [展開選取範圍] 命令,讓您可將選取範圍一口氣展開到下一個邏輯區塊。 您可以使用快速鍵 Shift+Alt+= 展開目前的選取範圍,並用 Shift+Alt+- 收合。
F# 語言和工具的改善
這一版的 F# 和工具引進了許多改善。 其中最重要的是 .NET Core SDK 專案的相關功能。 當然,其中也包括社群提供的許多貢獻。
F# 編譯器和核心程式庫改善
- Bug 修正和效能改善 (來源:ncave、Vasily Kirichenko 和 Microsoft)。
- F# 集合現在實作
IReadonlyList
和IReadonlyDictionary
(來源:Saul Rennison。 - 已新增
NativePtr.ByRef
支援 (來源:mjmckp)。 - 已新增
Async.StartImmediateAsTask
支援 (來源:Onur Gumus)。 - 新增支援
Seq.transpose
、Array.transpose
、List.transpose
(來源:Patrick McDonald)。 - 已修正 F# 程式碼中所定義的
System.Tuple
類型迴歸不再支援.Item1
/.Item2
/etc. 的問題。 由於這些元組類型現在與 F# 元組語法 100% 同義,因此我們引進了使用這些屬性的警告。 如需詳細資料,請參閱連結的提取要求。 - 針對以靜態方式解析的類型參數,修正了迴歸和其他 Bug (來源:Gustavo Leon 和 Microsoft)。
- 針對 .NET Standard 的 FSharp.Core,已啟用 F# 類型的
IsSerializable
屬性。 現在,Option
和Async
等 F# 類型可針對 .NET Standard 和 .NET Core 序列化。 - FSharp.Core 套件已更新為 4.3.4 版本,並包含此版本中所有的 FSharp.Core 變更。
F# 工具改進
- 已實作 .NET Core SDK 專案的檔案排序功能,包括新增於其上/其下、資料夾支援,以及重新整理 Visual Studio UI 而不需要重新載入專案。
- 已實作針對多目標 .NET Core SDK 專案的支援。
- .NET Core SDK 專案現在可支援共用檔案。
- F#/.NET Framework 專案可以參考 .NET Standard 專案。
- 錯誤報告改善 (來源:Vasily Kirichenko 和 Eugene Auduchinok。
- 效能改善 (來源:Vasily Kirichenko、Eugene Auduchinok、Daniel Wedelich 和 Microsoft)。
- 更精確的自動完成和許多 Bug 修正 (來源:Vasily Kirichenko 和 Microsoft)。
- 在完成項目中,可以使用未開啟之命名空間中的靜態成員 (來源:Vasily Kirichenko)。
- [Document Highlight] (文件醒目標示) 和 [Find All References] (尋找所有參考) 中可顯示命名空間符號 (來源:Vasily Kirichenko)。
- 其他編輯器 (VSCode、VS for Mac、Rider) 都可以使用結構指導方針的程式碼 (來源:Eugene Auduchinok)。
- 適用於 F# 建構函式的更佳摺疊和結構指導方針 (來源:Eugene Auduchinok)。
- 簡化名稱分析器不會再簡化 open 陳述式 (來源:Vasily Kirichenko)。
- 現在支援 QuickInfo 中的
sbyte
和byte
IL 欄位顯示 (來源:Vasily Kirichenko)。 - 未呼叫的 F# 函式或方法上不會再觸發未使用的宣告程式碼修正 (來源:Vasily Kirichenko)。
- 現在支援在 .NET Framework 專案中跨資料夾拖放 (來源:Paulo Nobre)。
- 現在可以切換未使用的宣告分析器和程式碼修正。
- Bug 修正和效能改善 (來源:Eugene Auduchinok 和 Microsoft)。
- 以
#if INTERACTIVE
定義包圍的程式碼現在支援不需要類型檢查的 IDE 功能,撰寫者為 Eugene Auduchinok。 - 已修正舊版 F#/ASP.NET (.NET Framework) 專案上針對空白 [新增檔案] 視窗修正的意外還原 (來源:Loïc Denuzière)。
F# 基礎結構和開放原始碼的改善
- 已實作版本控制更新 RFC。
- GitHub 可提供用於編譯器與工具中的所有當地語系化檔案,亦接受社群投稿。
- 每晚建置版本可以在一小時內產生;以往需要 4 小時以上。
- 針對開放原始碼投稿人,我們已移除對 Windows 10 SDK 的相依性。
- F# 編譯器 SDK 現在內含附屬組件和
FSharp.Core.resources.dll
。 - 如果組件資訊沒有變更,編譯器就不會再於 Visual F# 程式碼基底中自我重建。
- 針對
FSharpSymbolUse
,實作了ToString()
以便在偵錯編輯器工具時更輕鬆查看所有符號使用結果 (來源:Eugene Auduchinok)。
若要查看 15.6 版的完整認可變更記錄,請參閱我們的標記。
注意
查看 Visual Studio 2017 15.6 版中所有現有的已知問題和可用的因應措施。
Visual C++ 的改善
- 此發行版本包含了 CVE-2018-1037 中所述 PDB 安全性問題的修正。
- 從 [新增專案] 對話方塊建立 CMake 專案。
- 您現在可以選擇是否要在開啟新的 CMake 專案時自動產生 CMake 快取。
- 測試總管可自動探索並列出 CMake 專案中的 CTest、Google Test 和 Boost.Test 測試。
- 使用 Boost.Test 項目範本,輕鬆地將 Boost 單元測試新增至專案。 Boost 單元測試現在使用 Boost 動態程式庫。
- 支援 C++17 保證的複製省略。
- 適用於 Android 開發的 Android NDK r15c 內建支援 \(英文\)。
- Visual Studio Android 工具中針對使用 SDK 層級 25 和以下版本建置的 Android 應用程式在 Oreo 裝置上部署及執行的支援。
- 進一步實作 C++17 標準程式庫,包括每個 C++17 標準的 stable_sort、分割、平行內嵌 vector::emplace_back 和 <memory_resource> 等 API。
- 如果 Include 檔案存在於工作區根目錄之下,即使其未明確新增至 Include 路徑,系統仍會針對 C++ 的 [開啟資料夾] 自動探索遺漏的 Include 檔案。
- 內嵌 ARM GCC 支援也提供偵錯選項。 以滑鼠右鍵按一下您的二進位檔,選擇 [偵錯並啟動設定],並選取 C/C++ 偵錯微控制器。
- ARM64 已啟用並完全支援 Profile-Guided Optimization (特性指引最佳化)。
- 新增更多規則 \(英文\) 到 C++ Core Guidelines Check 擴充,可協助您讓您的程式碼更簡潔、更安全且容易維護。
- C++ Core Checker 延伸模組,可偵測是否使用超出範圍存留期的間接取值。
- 5 項關於整數溢位的全新檢查強制執行規則,以及來自 C++ Core Guidelines 的其他規則。
- C++ Core Check 現在包含一組程式碼分析規則,可用於偵測算術溢位。
- 支援執行單一檔案的程式碼分析 (或是您透過方案總管選擇的檔案);已清除 [建置] 功能表和 [分析] 功能表。 「執行程式碼分析」不會再執行產生程式碼的作業,因此可以加快分析執行速度。
- 非使用中組態的 IntelliSense 錯誤在編輯器中顯示為紫色波浪線。 您可以在 [工具] > [選項] 中設定要處理的組態數目。
- 編譯時間大幅改善 \(英文\):
- 在完整連結案例中產生對應檔的額外負荷已降低。 不過,我們仍建議使用 PDB 檔案,而非對應檔。
- 在所有架構 (包含 x86、x64、ARM 和 ARM64) 上,MSVC 編譯器都支援 /Qspectre 參數。
C# 編譯器
C# 編譯器現在支援:
- CoreCLR 的編譯器伺服器,以確保組建輸送量效能。
- CoreCLR 的強式名稱簽署 (
/keyfile
選項,適用於所有作業系統)。
除了許多 Bug 修正和一項重大變更 (請參閱重大變更的執行清單) 之外,7.2 語言功能也有兩個微幅的語言變更:
in
多載的依據 (請參閱 GitHub 中此主題的詳細資訊)。- ref 擴充方法中的
ref
和this
寬鬆排序 (請參閱 GitHub 中此主題的詳細資訊)。
Visual Studio Tools for Xamarin
這個版本包含 Xamarin.iOS 11.8 和 Xamarin.Android 8.2。
使用 iOS 模擬器的即時 XAML 預覽
Xamarin Live Player 讓開發人員可以直接在 iOS 和 Android 裝置上使用 Visual Studio,以持續部署、測試應用程式及對其偵錯。 Visual Studio 2017 15.5 版已新增支援,可讓開發人員直接在 Android 模擬器中預覽即時的 XAML 變更,而不需要重新編譯或重新部署。 此版本將這項功能引進適用於 Windows 的遠端 iOS 模擬器。
Python
針對此版本,我們已將需具備完成資料庫才能在已安裝套件上使用 IntelliSense 的限制移除 (圖 6)。 這表示,現在您只要幾秒鐘就可以取得 numpy
和 pandas
等熱門套件的完成項,而不需在安裝好套件後苦等四小時。
我們針對下列項目新增了自訂功能:用於文件字串的色彩 (在類別或函式中使用時),以及偵測為 re
程式庫呼叫之一部分的規則運算式模式 (圖 7)。 您可以在 [工具] > [字型] > [色彩]、[Python 文件] 和 [Python 規則運算式] 下進行這些變更。
最後,針對 Anaconda 使用者,我們正在實驗 Conda 的偵測和整合。 啟用時,您的 Conda 環境會自動出現在 Visual Studio 中;我們也會使用 Conda 而非 pip 來管理套件。 如需詳細資訊,請參閱 What's new for Python in Visual Studio 15.6 (Visual Studio 15.6 的 Python 新功能) 部落格文章。
偵錯和診斷
CPU 使用量工具
CPU 使用量工具可以顯示非同步程式碼的邏輯呼叫堆疊 (亦即「非同步呼叫堆疊拼接」) (圖 8)。
若要查看邏輯呼叫堆疊 (亦即「拼接的呼叫堆疊」),請開啟 CPU 使用量工具 [篩選] 下拉式功能表的 [Stitch Async Code] (拼接非同步程式碼) 設定。
系統會將代表父函式或工作執行的非同步程式碼顯示為 [呼叫樹狀圖] 檢視和 [呼叫端/被呼叫端] 檢視中的子系。
這項變更可讓您更輕鬆巡覽非同步程式碼,並了解其效能特性。
注意
這項功能可能需要很長的時間來產生某些非同步程式碼模式的邏輯呼叫堆疊。 您可以視需要取消分析,並關閉設定。 上述行為只有在使用 ALT-F2 效能分析工具啟動頁面進行事後剖析分析期間,才可以使用。 在偵錯期間使用 CPU 使用量工具時,不會顯示邏輯呼叫堆疊。
CPU 使用量工具 (可在 [診斷工具] 視窗中的 F5 偵錯期間及透過 ALT-F2 效能分析工具取得) 現在可根據特定程式碼行的 CPU 消耗量來醒目顯示原始程式碼 (圖 9)。
當您檢視 CPU 使用量工具的 [呼叫樹狀圖] 檢視或 [呼叫端/被呼叫端] 檢視時,會顯示所選取函式的來源以及該函式上每個原始程式碼所指出的 CPU 耗用量。
如果函式的 CPU 效能是個考量,您就可以趁這時具體判斷函式的哪些原始程式碼要為函式執行時的 CPU 耗用量負責。
注意
此功能需要來源資訊包含在產生的 PDB 中,該檔案由專案設定所控制。 不含來源資訊的 PDB 專案不會顯示行屬性或來源檔案。
支援執行緒名稱
依照使用者意見反應修改,偵錯工具現在可於傾印偵錯過程中顯示透過 SetThreadDescription API 所設定的執行緒名稱。 這項功能需要在 Windows 10 Fall Creators Update 或更新版本組建上收集傾印。
快照集偵錯工具
如果您使用的是執行於 Azure App Service 中的 ASP.NET 應用程式,並想要試用貼齊點或記錄點,則可以選取 [偵錯目標] 下拉式功能表的 [快照偵錯工具 (Azure App Service)],進行這項作業 (圖 10)。
.NET 生產力
在 15.6 Preview 2 中,我們新增了巡覽至反向組譯原始程式碼的功能。 若啟用,在任何參考的類型或成員上叫用 [移至定義] 或 [查看定義] 時,會透過 ILSpy 反向組譯顯示其定義,內含重新建構的方法主體。 若要開啟此功能,請前往 [工具] > [選項] > [文字編輯器] > [C#] > [進階] > [Enable navigation to decompiled sources] (允許瀏覽至反編譯的來源) (圖 11)。
我們也新增了下列幾個 .NET EditorConfig 選項:
- dotnet_prefer_inferred_tuple_names
- dotnet_prefer_inferred_anonymous_type_member_names
注意
若要查看所有 .NET 程式碼慣例選項,請參閱 EditorConfig 的 .NET 編碼慣例設定。
Visual Studio Web Tools
- 針對 .NET Core 專案,方案總管有一項稱為 [檔案巢狀] 的新功能,可讓使用者控制相關檔案在方案總管中的呈現方式。
- 已更新專案的發行體驗。
- 在 [新增專案] 對話方塊中:
- 已將可供選取 .NET Framework 版本的下拉式功能表移至對話方塊底部,而不再作為範本的篩選條件。
- 已將 "Web" 節點的「網站」子節點更名為「舊版本」。
- WebForms 和 MVC 5 專案的偵錯下拉式功能表:
- 可讓使用者選取適用於 Azure App Service 部署應用程式的快照偵錯工具。
- 已更新為具有與 ASP.NET Core 專案相同的瀏覽器選取手勢。
持續傳遞工具
針對存在於原始檔控制中的方案,您可以按一下 Team Explorer 中的 [持續傳遞] 磚,以設定應用程式的自動化建置與部署。
設定持續傳遞工具
- 我們已新增支援 TFVC 作為原始檔控制提供者。 在 VSTS TFVC Team 專案中,您可以針對存在於原始檔控制中的方案設定持續傳遞 (圖 12)。
我們已新增支援透過 SSH 的 Git 驗證。 在 VSTS 或已啟用 SSH 驗證的 GitHub Git 存放庫中,您可以針對存在於原始檔控制中的方案設定持續傳遞。
我們引進了對容器化專案的支援。 您可以針對具 ASP.NET Core 專案及 docker 支援 (目標為 Linux 上的 Azure App Service (用於容器的 Web App)) 的方案設定持續傳遞 (圖 13)。 [設定持續傳遞] 對話方塊會預設為新建 Linux 上的 Azure App Service (用於容器的 Web App) 與 Azure Container Registry (如果您的 Azure 訂用帳戶下尚未具有)。
Team Explorer
支援 Git 標籤
我們已新增更多對 Git 標記的支援。 您現在可以建立、刪除和推送標記。 在 [標記] 頁面上,您可以檢視存放庫中的所有標記,並透過標記建立新分支。 這是 UserVoice 中最常要求的功能之一。
若是 Visual Studio Team Services 使用者,您可以簽出提取要求分支。 這項功能可讓您更輕鬆檢閱提取要求、測試變更,並建置程式碼。
通用 Windows 平台開發人員工具
您可以將 Windows 10 Insider Preview SDK (組建版本 17095) 安裝為含有通用 Windows 平台開發工作負載的選擇性元件。
擴充性
部分 Visual Studio 可執行檔 (devenv.exe、blend.exe、wdexpress.exe 和 vsga.exe) 的檔案版本現可看出次要版本 (例如 15.6.*)。
注意
這不會影響任何功能,但如果外部程式碼會依賴可執行檔版本號碼,則可能要更新該程式碼。
測試總管
全新階層架構檢視
Visual Studio 的測試總管現在提供階層檢視 (圖 14),其可依據專案、命名空間和類別組織您的測試。 您可以使用 [階層] 按鈕 (位於 [群組依據] 按鈕旁邊的測試總管視窗上方),開啟和關閉這個檢視。
這項功能不僅讓您可以更容易巡覽測試,還可以輕鬆針對測試提供回饋意見。
- 如果階層中的「父節點」(專案、命名空間和類別) 至少包含一個失敗測試,則會失敗測試圖示。
- 父節點後面也會接著一個數字,以摘要這個群組包含多少個測試。 父節點右側顯示的持續時間 (以毫秒為單位) 為該群組內執行測試所花費的總時間。
即時測試探索
使用即時測試探索 (圖 15),您無須建置要由您自己進行管理的專案,就能自動探索測試。 這可讓測試總管與程式碼變更 (例如新增、移除或編輯測試) 保持同步。 請注意,上述階層檢視功能適用於所有類型的專案,但自動測試探索功能只適用於 C# 和 Visual Basic 專案。
支援測試 Win10 IoT Core
我們推出了用於測試 Win10 IoT 核心版應用程式的支援。 現在,這類 UWP 應用程式的測試可以在裝置上部署、偵錯與執行。 測試總管也可以完全整合測試。 即使透過 VSTS CI,也可以獲得部署和執行的支援。 因此,在 Visual Studio 中,Win10 IoT Core 應用程式可獲得完整的編輯、編譯、偵錯、測試週期支援,亦可獲得 Visual Studio Team Services 中的持續整合工作流程支援。
Visual Studio Build Tools
Visual Studio Build Tools 可讓您建立組建伺服器,而不需要安裝所有 Visual Studio。 對於傳統型專案,安裝程式已經可以支援 C++、ASP.NET 和 .NET Core。 為了回應客戶的要求,我們會持續強化 Visual Studio Build Tools 以支援其他專案類型。 在此版本中,我們新增對 TypeScript 和 Node.js 專案的支援。 我們預計會在未來版本中新增對更多專案類型的支援。 如需這個版本的 Visual Studio Build Tools,此為下載位置。
Visual Studio ClickOnce Tools
ClickOnce 是一種部署技術,可讓您建立自行更新的 Windows 應用程式,並以最少的使用者互動來安裝和執行這些應用程式。 它會使用憑證以驗證應用程式發行者的真偽,並會簽署應用程式和部署資訊清單,以證明檔案未遭竄改。 在這個版本中,我們已新增支援使用 Cryptography Next Generation (CNG) 憑證,簽署應用程式和部署資訊清單。
Key Vault
我們新增了隨附於 Visual Studio 15.6 中的 Azure 服務驗證延伸模組。 針對使用 Microsoft.Azure.Services.AppAuthentication 程式庫的專案,其可讓它們使用 Visual Studio 帳戶來存取 Azure 資源 (例如 Key Vault)。
自動 macOS 佈建
在 Windows 上使用 Visual Studio 建置 iOS 應用程式變得更容易了! 此版本新增了自動 macOS 佈建這項全新功能。 您不需要手動維護 Mac 組建電腦,只需要連接到 Mac,我們即會處理繁重的工作 (使用正確的 Xamarin.iOS 和 Mono 位元安裝和設定組建電腦),且所有作業都透過 Visual Studio 進行。
iOS Wi-Fi 部署
遠端 iOS 模擬器可讓開發人員完全在 Windows 上的 Visual Studio 中測試和偵錯 iOS 應用程式,其適用於所有版本的 Visual Studio (從 15.5 版開始),包括免費的 Community Edition! 模擬器支援位置模擬、旋轉、手勢等功能,甚至包括 Mac 的 iOS 模擬器不支援的多點觸控功能。 開發人員在 Windows 上建置 iOS 應用程式時,這可賦予其絕佳的模擬器體驗,那裝置呢? 使用 Visual Studio 2017 15.6 版時,您可以使用 Wi-Fi 部署,透過網路來部署 iOS 應用程式,而完全不需任何纜線! 在 Xcode 中設定無線裝置之後,Visual Studio 即會顯示該裝置,就像一般部署目標一樣。
Visual Studio 2017 15.6.1 版服務更新
於 2018 年 3 月 8 日發行
15.6.1 中已修正的常見問題
這些是在此版本中解決的客戶回報問題:
Visual Studio 2017 15.6.2 版服務更新
於 2018 年 3 月 13 日發行
15.6.2 中的更新摘要
CVE-2018-0875:.NET Core 的 Microsoft 資訊安全諮詢
Microsoft 知悉 .NET Core 公開版本中有資訊安全漏洞,也就是惡意檔案或 Web 要求可能引起拒絕服務 (DoS) 的攻擊。
重要
建議系統管理員將 .NET Core 執行階段的版本更新到 1.0.10、1.1.7 或 2.0.6。 建議開發人員將 .NET Core SDK 的版本更新到 1.1.8 或 2.1.101。
15.6.2 中已修正的常見問題
這些是在此版本中解決的客戶回報問題:
- 「指定的引數超出有效值的範圍,參數名稱: count」
git
標籤。 - 無法開啟 git 認可詳細資料。
- 安裝 SyncFusion WPF 範本時,VS2017 Installer 於 [修改] 時損毀。
- 執行測試時,測試總管會遺失位置。
- 測試總管測試階層會經常跳到頂端 \(英文\)。
- 變更 XAML 檔案時,XAML 編輯器一律會損毀。
- 開始新的測試時,測試總管會持續捲動至頂端。
- 檢視 Git 記錄顯示:指定的引數超出值的範圍。
- Alt+向上鍵/向下鍵不會在 .NET Framework 專案中重新放置檔案。
- 將 [不包含] 新增至檔案清單時,.NET Core SDK 專案的方案載入發生 VS 15.6 死結。
- 15.6 Preview 6 探索測試配接器,但無法執行測試。
Visual Studio 2017 15.6.3 版服務更新
於 2018 年 3 月 19 日發行
15.6.3 中的更新摘要
CVE-2018-0875:.NET Core 的 Microsoft 資訊安全諮詢
Microsoft 知悉 .NET Core 公開版本中有資訊安全漏洞,也就是惡意檔案或 Web 要求可能引起拒絕服務 (DoS) 的攻擊。
重要
建議系統管理員將 .NET Core 執行階段的版本更新到 1.0.10、1.1.7 或 2.0.6。 建議開發人員將 .NET Core SDK 的版本更新到 1.1.8 或 2.1.101。
15.6.3 中已修正的常見問題
這些是在此版本中解決的客戶回報問題:
- 「指定的引數超出有效值的範圍,參數名稱: count」
git
標籤。 - 無法開啟 git 認可詳細資料。
- 安裝 SyncFusion WPF 範本時,VS2017 Installer 於 [修改] 時損毀。
- 執行測試時,測試總管會遺失位置。
- 測試總管測試階層會經常跳到頂端。
- 變更 XAML 檔案時,XAML 編輯器一律會損毀。
- 開始新的測試時,測試總管會持續捲動至頂端。
- 檢視 Git 記錄顯示:指定的引數超出值的範圍。
- Alt+向上鍵/向下鍵不會在 .NET Framework 專案中重新放置檔案。
- 將 [不包含] 新增至檔案清單時,.NET Core SDK 專案的方案載入發生 VS 15.6 死結。
- 15.6 Preview 6 探索測試配接器,但無法執行測試。
- 開始新的測試時,測試總管會持續捲動至頂端。
- .NET Core 的 Microsoft 資訊安全諮詢更新。
Visual Studio 2017 15.6.4 版服務更新
於 2018 年 3 月 22 日發行
15.6.4 中已修正的常見問題
這些是在此版本中解決的客戶回報問題:
- 資產檔案 'c:\xxxxxx\obj\project.assets.json' 沒有 '.NETStandard,Version=v2.0' 的目標。
- 如果從另一位使用者執行另一個 VS 執行個體,VS2017 無法在第一次啟動時持續保存設定。
- VS15.6.0 的 Android LLVM libc++ 靜態程式庫 STL 中斷。
- 單元測試不再依字母順序排序。
- 測試總管測試依類別進行分組,在 15.6.2 中,命名空間不再依字母順序排序。
Visual Studio 2017 15.6.5 版服務更新
於 2018 年 4 月 4 日發行
15.6.5 中已修正的常見問題
這些是在此版本中解決的客戶回報問題:
- VS 15.6 不採用「將伺服器設定套用至所有使用者 (儲存在專案檔中)」。
- 無法開啟專案,因為未建立 Visual C# 2017 編譯器。
- 手動清除快取之後,NuGet 套件管理員僅會看見最新的套件版本。
- 遺失的 IIS 伺服器設定。
- Nuget 套件更新期間,Visual Studio 停止回應。
- 安裝程式會擲回未預期的錯誤,且不會儲存對於 Solution2.sln 所儲存的變更。
- 升級至 15.5.6 之後,
C:\Windows\temp
會填滿 .itrace 檔案。 vstest.console.exe
會因為通訊端例外狀況造成測試回合失敗。- 此版本包含 Xcode 9.3 的支援。
Visual Studio 2017 15.6.6 版服務更新
於 2018 年 4 月 10 日發行
15.6.6 中的更新摘要
CVE-2018-1037:針對 Microsoft Visual Studio 資訊洩漏弱點的 Microsoft 資訊安全諮詢
當 Visual Studio 在編譯程式資料庫 (PDB) 檔案時,若不當地洩漏未初始化記憶體的限制內容,便會存在資訊洩漏弱點。 攻擊者可以利用此資訊洩漏,藉由編譯 PDB 檔案的 Visual Studio 執行個體,以檢視未初始化的記憶體。
攻擊者若要利用這項弱點,就需要使用有弱點的 Visual Studio 版本來存取受影響的 PDB 檔案。 攻擊者無法強制開發人員產生此資訊洩漏。
安全性更新會修正編譯專案時產生 PDB 檔案的方式,以彌補此弱點。
重要
如需詳細資訊,請參閱 CVE-2018-1037 的安全性更新。
15.6.6 中已修正的常見問題
這些是在此版本中解決的客戶回報問題:
- 此發行版本解決了下列問題:初次載入方案時,有些 Application Insights 使用者看不到 CodeLens 要求與例外狀況指示器。
Visual Studio 2017 15.6.7 版服務更新
於 2018 年 4 月 26 日發行
15.6.7 中的更新摘要
- 執行 Git 作業時,VS 更具回應力。
- 使用 /debug:fastlink PDB 偵錯大型方案更加强固。 PDB/DIA 的變更可降低延遲,並將 VS 偵錯工具中導致當機的堆積記憶體耗用量減少 30%。
15.6.7 中已修正的常見問題
這些是在此版本中解決的客戶回報問題:
- C++ 編譯器錯誤修正:
- 修正 SSA 最佳化工具不正確將函式呼叫通過存放區接收至
__finally
處理常式中所使用的變數。 - 修正 SSA 最佳化工具有時會從具有負位移的位置不正確地分析記憶體載入。
- 修正最佳化工具將前置增量迴圈不正確地轉換成後置增量迴圈。 這是在編譯 ICU 專案 時發現。
- 修正 SSA 最佳化工具不正確將函式呼叫通過存放區接收至
- 我們已提高為 Java™ Development Kit 8 Update 172 (JDK 8u172 版)。
已知問題
歡迎您提供意見反應。 請前往Developer Community (開發人員社群) 網站,以尋找最新問題、記錄新問題及附議現有問題。
查看 Visual Studio 2017 15.6 版中所有現有的已知問題和可用的因應措施。
意見反應與建議
我們很希望聽聽您的意見! 若有任何問題,請透過安裝程式或 Visual Studio IDE 本身右上角的回報問題選項來通知我們。 圖示位在右上角。 您可以在 Visual Studio 開發人員社群中提出產品建議或追蹤您的問題,也可以提出問題、尋找解答及提議新功能。 您也可以透過我們的即時聊天支援取得免費的安裝協助。
部落格
善用「開發人員工具部落格」網站中的見解與建議,讓您能夠隨時取得所有新版本的最新資訊,以及涵蓋各類功能的深入探討文章。
Visual Studio 2017 版本資訊歷程記錄
如需舊版 Visual Studio 2017 的詳細資訊,請參閱 Visual Studio 2017 版本資訊歷程記錄頁面。