Visual Studio Icon Visual Studio 2019 版本16.9 版本資訊



開發人員社群 |系統需求 |相容性 |可散發程式代碼 |授權條款 |Blog |最新版本的已知問題 |Visual Studio 檔的新功能


按一下按鈕以下載最新版的 Visual Studio 2019。 如需安裝和更新 Visual Studio 2019 的指示,請參閱將 Visual Studio 2019 更新至最新版本。 此外,請參閱如何離線安裝上的指示。

Community Download Button Professional Download Button Enterprise Download Button


Visual Studio 2019 16.9 版的新功能

支援時間範圍

Visual Studio 2019 16.9 版是 Visual Studio 2019 的第四個支援服務基準。 我們鼓勵需要採用長期穩定且安全開發環境的 Enterprise 和 Professional 客戶在此版本上進行標準化。 如在我們的 生命週期和支援原則中更詳細地說明,我們將會在2022年10月透過修正程式和安全性更新支援16.9 版。 2022年10月是 Visual Studio 2019 16.11 版後的一年,宣告為最終的服務基準。

此外,現在可以16.7 使用16.9 版,也就是最後一個服務基準,將會支援12個月,且將于4月2022之後不再支援。 也請注意,16.8 版不再受到支援。 這些中繼版本只會在下一次的次要更新發行之前收到服務修正。

您可以在 my.visualstudio.com 或Microsoft Catalog[下載] 區段中,取得最安全的最安全版本 Visual Studio 2019 16.9 版。   如需 Visual Studio 所支援基準的詳細資訊,請參閱 Visual Studio 2019 的支援原則

Visual Studio 2019 16.9 版版本

Visual Studio 2019 封存版本資訊

Visual Studio 2019 部落格

Visual Studio 2019 部落格 是由 Visual Studio 工程小組發行的官方產品見解。 您可以在下列文章中找到有關 Visual Studio 2019 版的深入資訊:


Release Notes Icon Visual Studio 2019 版本16.9.11 New release icon

2021年9月14日發行

此版本所解決的問題:

  • 我們修正了非命名結構(其欄位是從 SAL 批註參考)所造成的嚴重內部編譯器錯誤。
  • 修正使用 __uuidof 分析樣板化程式碼時的罕見損毀。

資訊安全諮詢注意事項

CVE-2021-26434 Visual Studio 不正確的許可權指派許可權擴大弱點

使用 c + + 安裝遊戲開發並選取 Unreal 引擎安裝程式工作負載之後,Visual Studio 中有許可權指派弱點。 系統在安裝期間很容易 LPE,它會建立一個目錄,其中包含所有使用者的寫入權限。

開發人員社群的問題


Release Notes Icon Visual Studio 2019 版本16.9.10

2021年8月10日發行

此版本所解決的問題:

  • 報告已安裝的擴充功能時,不會再傳送磁片上的路徑。
  • 修正在類別樣板特製化中處理靜態資料成員時所發生的 IntelliSense 損毀。
  • 修正了 [更新] 命令的命令列執行影響的問題。 如果更新第一次失敗,後續發行的 update 命令現在會導致更新繼續執行先前的作業。

資訊安全諮詢注意事項

CVE-2021-26423 .Net Core 拒絕服務弱點

有一項拒絕服務弱點存在,其中提供 WebSocket 端點的 .NET (Core) 伺服器應用程式在嘗試讀取單一 WebSocket 框架時,可能會被欺騙到無限迴圈。

CVE-2021-34485 .Net Core 資訊洩漏弱點

當工具所建立的傾印收集損毀傾印和隨選傾印時,會在 Linux 和 macOS 上建立具有全域讀取權限的資訊洩漏弱點。

CVE-2021-34532 ASP.NET Core 資訊洩漏弱點

如果無法剖析 JWT 權杖,就會在其中記錄 JWT 權杖的資訊洩漏弱點存在。


Release Notes Icon Visual Studio 2019 版本16.9。9

于2021年7月13日發行

此版本所解決的問題:

  • 修正了使用增益集時 Outlook 損毀的 ARM64X 問題。
  • 修正了 c + + 編譯器在轉換時不正確執行的問題。
  • 修正了最新 Windows 更新的相容性 ASan 問題。
  • ASan 不會再回報誤報的 memcpy 記憶體區域重迭錯誤。
  • 具有陣列類型之未命名函式參數的函式樣板導致剖析器略過後續的函式定義,導致在對常數運算式中的呼叫進行評估時,未定義函數的假 constexpr 錯誤。 修正程式會 reenables 略過的函式定義剖析。
  • 我們修正了其中一個檢查程式擴充功能所造成的效能問題和誤報,以找出誤用變體的 bug。
  • 我們修正了其中一個檢查程式擴充功能所造成的效能問題,這些延伸模組會找出將列舉值誤用為索引的 bug。
  • 修正編譯多個 Tu 時,記憶體不足的遺漏。
  • 並行分析程式應該不會再產生錯誤警告 C26110 (無法取得具有自動鎖定模式的鎖定) 。
  • 此修正程式會略過外部標頭的分析,並隱藏外部標頭的警告,來還原外部標頭的行為。
  • 程式碼分析中的平行存取檢查更聰明。 使用複雜的控制流程難以欺騙。
  • 修正與版面配置建立相關的問題。
  • 修正因缺少更新通道資訊而導致更新失敗的問題。

開發人員社群的問題


Release Notes Icon Visual Studio 2019 版本16.9。8

2021年6月15日發行

開發人員社群的問題


Release Notes Icon Visual Studio 2019 版本16.9。7

2021年6月8日發行

此版本所解決的問題:

  • 修正了 SSA 指令 cloner 中的錯誤(bug)。
  • 修正導致 mspdbcore.dll 損毀的問題。
  • 修正客戶程式碼基底的長時間執行/超時組建。
  • 修正了阻礙開發人員建立 PyTorch 的問題。
  • 修正當大型程式碼基底以32位 MSBuild.exe 進程建立時,所引發的內部 MSBuild 錯誤 (MSB0001) 。
  • 修正容器工具視窗中的問題,當開發人員嘗試查看對應的埠,然後切換到不同的容器時,會導致 Visual Studio 2019 損毀。

資訊安全諮詢注意事項

CVE-2021-31957 ASP.NET 拒絕服務弱點

當 ASP.NET Core 不當處理用戶端中斷連線時,就會發生阻絕服務弱點。

開發人員社群的問題

開發人員社群包含此版本中所有貨物的完整清單。

以下是16.9.7 中所發行的前幾個投票問題:

Release Notes Icon Visual Studio 2019 版本16.9。6

2021年5月18日發行

此版本所解決的問題:

  • 修正」無法存取已處置的物件。 物件名稱:當嘗試建立憑證或執行自動布建時,StringContent ' "。
  • 修正了可防止 iOS 熱重新開機功能正常運作的問題。

開發人員社群的問題

開發人員社群包含此版本中所有貨物的完整清單。

以下是16.9.6 中所發行的前幾個投票問題:


Release Notes Icon Visual Studio 2019 版本16.9。5

2021年5月11日發行

此版本所解決的問題:

  • 修正了使用匯出時 Office 工具無法如預期般運作的問題。
  • 修正在 x64 和 ARM64EC dll 之間進行某些虛擬呼叫期間發生的 Visual Studio 2019 損毀。
  • 在執行多執行緒 ASan 檢測程式碼時,已解決 false-正數。
  • 修正產生「HRESULT E_FAIL 已從呼叫 COM 元件傳回」錯誤的專案失敗。
  • 修正在啟動時開啟 c + + 檔案時,偶爾會導致 Visual Studio 2019 停止回應的問題。
  • 修正了 CmakeSettings 無法保存新設定之檔案的 json 設定問題。
  • 當檔案路徑包含一或多個非 ASCII 字元時,藉由分析來源檔案所造成的內部編譯器錯誤。
  • 修正開啟涵蓋範圍檔案的問題,其中一個程式庫在程式碼涵蓋範圍檔案中有多個專案。
  • 修正了錯誤,導致使用啟用遠端桌面的非工作帳戶登入的客戶,可能會導致存取拒絕。
  • 修正當開發人員自訂功能表並按一下 [自訂] 對話方塊中的分隔符號時,會導致 Visual Studio 2019 損毀的 bug。
  • 開啟方案時,會還原浮動文件視窗。
  • 修正當系統管理員建立新的 Visual Studio 配置來部署更新時,會導致更新失敗的問題。 用戶端電腦更新將會失敗,因為版面配置已移動位置。
  • 已修正導致快速部署啟用的專案組建失敗的問題,否則部署將會花費很長的時間。
  • 已新增 Xcode 12.5 支援。
  • 修正當系統管理員建立新的 Visual Studio 配置來部署更新時,會導致更新失敗的問題。 用戶端電腦更新將會失敗,因為版面配置已移動位置。

資訊安全諮詢注意事項

CVE-2021-27068 在嵌套式資料夾中進行 python.exe 時可能發生的 RCE

使用 python 程式碼開啟工作區,且該工作區在腳本子資料夾中包含 python.exe 時,會存在遠端程式碼執行弱點。

CVE-2021-31204 .Net Core 權限提高弱點

當使用者在以 Linux 或 macOS 為基礎的作業系統上執行單一檔案應用程式時,.NET 5.0 和 .NET Core 3.1 中存在權限提高弱點。

開發人員社群的問題

開發人員社群包含此版本中所有貨物的完整清單。

以下是16.9.5 中所發行的前幾個投票問題:


Release Notes Icon Visual Studio 2019 版本16.9。4

2021年4月13日發行

此版本所解決的問題:

  • 修正了 SFINAE 錯誤,導致非相依基類中某些形式的範本名稱發生錯誤。
  • 修正 IntelliCode 嘗試登入臨時目錄,並拒絕存取臨時目錄的情況。
  • 已解決某些 Visual Studio 功能在協力廠商的特殊版權管理軟體也已獲得限制時的問題。
  • 解決了客戶重複開始在 XBox 上進行偵錯工具的問題,並耗用越來越多的核心資源。 最後需要重新開機 XBox,這會遺失任何狀態。
  • 使用 Windows 的 Insider Preview 組建來偵測原生程式碼時,解決了停止回應的問題。
  • 已修正鍵盤焦點的協助工具錯誤。
  • 在新的 Project 對話方塊中, (ios/android 類別庫、ios/android 系結程式庫、android 磨損、Xamarin. UITest) 新增回缺少的 Xamarin 範本。 這些範本是由錯誤隱藏。
  • 針對以 Linux 為目標的 c + + CMake 型專案(使用 SSH 連接),屬性中所指定的目的地目錄已 CMakeSettings.json remoteCMakeListsRoot 還原為 VS 16.8 中先前的行為,其中複本的目的地對應到來原始目錄的根目錄。 遠端 Linux 電腦票證連線中的詳細資料 使用了不正確的目的地路徑

資訊安全諮詢注意事項

CVE-2021-27064 Visual Studio 安裝程式權限提高弱點

當 Visual Studio 安裝程式在提高許可權的狀態中執行回饋用戶端時,就會存在遠端程式碼執行弱點。

CVE-2021-28313 /CVE-2021-28321 /CVE-2021-28322診斷中樞標準收集器服務提升許可權弱點

當診斷中樞標準收集器未正確處理資料作業時,即會存在權限提升弱點。

開發人員社群的問題

開發人員社群包含此版本中所有貨物的完整清單。

以下是16.9.4 中所發行的前幾個投票問題:


Release Notes Icon Visual Studio 2019 版本16.9。3

2021年3月30日發行

此版本所解決的問題:

  • 修正嘗試使用包含網站專案的 MSBuild.exe 來建立方案時,MSBuild 中的損毀。
  • 修正 ServiceHub 上某些相依性所造成的損毀案例。
  • 已修正在 Xbox 或 IoT 裝置上禁止使用者進行遠端偵錯程式的封鎖問題。

開發人員社群的問題

開發人員社群包含此版本中所有貨物的完整清單。

以下是16.9.3 中所發行的前幾個投票問題:


Release Notes Icon Visual Studio 2019 版本16.9。2

2021年3月16日發行

此版本所解決的問題:

  • 更新 ARM64X 全域函式指標名稱
  • 修正以程式庫解壓縮 ARM64X LIB 的第一個 OBJ-解壓縮
  • 修正了使用 Address Sanitizer 和 optimzations 編譯的程式碼時,可能會產生錯誤的程式碼產生,導致 Visual Studio 2019 損毀。
  • 修正在資源編輯器中透過對話方塊編輯器新增函式時所造成的損毀
  • Nuget.org 將不再需要移除為套件來源兩次
  • 改善 NuGet 套件剖析效能
  • 修正了在伺服器總管中使用 Azure SQL Database 節點時,客戶所收到的已淘汰 api 的錯誤訊息
  • 修正造成錯誤訊息的問題,指出未正確載入 CascadePackage
  • 已修正導致快速部署的建立專案無法部署或花費更多時間的問題
  • 已修正導致熱重新載入現在在「全頁面」模式下顯示已儲存變更的問題
  • 修正了熱重新載入導致即時視覺化樹狀結構無法運作或套用變更的問題。

開發人員社群的問題

開發人員社群包含此版本中所有貨物的完整清單。

以下是16.9.2 中所發行的前幾個投票問題:


Release Notes Icon Visual Studio 2019 版本16.9。1

2021年3月09日發行

資訊安全諮詢注意事項

CVE-2021-21300 Git for Visual Studio 遠端程式碼執行弱點

當 Visual Studio 複製惡意存放庫時,就會存在遠端程式碼執行弱點。

CVE-2021-26701 .Net Core 遠端程式碼執行弱點

由於執行文字編碼的方式,.NET 5 和 .NET Core 中有遠端程式碼執行弱點。

此版本所解決的問題:

  • 修正將不正確的 ARM64EC 中繼資料發出至 Obj 的問題。
  • 修正了 c + + with FixIts 開啟的問題(預設選項),會在開啟程式碼時看到錯誤波浪線。
  • 在某些情況下,c + + IntelliSense 會嘗試使用極大量的 include 路徑,而且變得沒有回應。
  • 提高 c + + 案例中 Live Share 的穩定性。
  • 修正了 IntelliCode 會停止載入符號的問題。
  • 當使用者已啟用新的實驗性 Razor 編輯器時,可改善解決方案載入和關閉時間。
  • 修正 ServiceHub 中開啟 [擴充功能和更新] 對話方塊,然後關閉 Visual Studio 時可能發生的損毀案例。
  • 修正了在較慢的機器上檢查更新時,會提供訊息指出沒有可用更新的錯誤。
  • 改善在累加式變更期間從 Visual Studio 啟動 WAP 專案的效能。
  • 修正了在使用義大利地區設定時,導致安裝程式無法啟動的問題。
  • 修正在初始化 .NET core 範本快取時,會導致安裝程式停止回應很長時間的升級案例。

開發人員社群的問題

開發人員社群包含此版本中所有貨物的完整清單。

以下是16.9.1 中所發行的前幾個投票問題:


Release Notes Icon Visual Studio 2019 版本16.9。0

2021年3月2日發行

本版 Visual Studio 2019 16.9.0 版的新功能摘要

C++

  • Address Sanitizer:
    • Windows 的位址 sanitizer 支援現已推出,並已正式推出。
    • 已擴充 RtlAllocateHeap 支援、修正 RtlCreateHeap 與 RtlAllocateHeap 攔截器在建立可執行檔記憶體集區時的相容性問題。
    • 已新增對舊版 GlobalAlloc 與 LocalAlloc 記憶體函式系列的支援。 您可以使用 ASAN_OPTIONS=windows_hook_legacy_allocators=true 來啟用這些攔截器。
    • 已更新陰影記憶體交錯和攔截失敗的錯誤訊息,以明確顯示問題與解決方案。
    • IDE 整合現在可以處理 ASan 所能回報的完整例外狀況集合。
    • 如果編譯器與連結器偵測到您正在使用 ASan 進行建置,但並未發出偵錯資訊,其將會建議發出偵錯資訊
  • 您現在可以使用新的 CL 參數 /openmp:llvm 將目標設為 OpenMP 執行階段的 LLVM 版本。 這能加入在 #pragma omp 區段上使用 lastprivate 子句,以及針對迴圈使用平行的不帶正負號索引變數的支援。 /openmp:llvm 參數目前只能針對 amd64 目標使用,且仍處於實驗階段。
  • Visual Studio CMake 專案現已具有針對遠端 Windows 開發的一級支援。 這包括設定 CMake 專案以將 Windows ARM64 設為目標、將專案部署到遠端 Windows 電腦,以及從 Visual Studio 針對遠端 Windows 電腦上的專案進行偵錯。
  • 隨附於 Windows 版 Visual Studio 的 Ninja 版本已更新到 1.10 版。 請參閱 Ninja 1.10 版本資訊 (英文) 以取得所包含內容的詳細資料。
  • 隨附於 Visual Studio 的 CMake 版本已經更新到 3.19 版。 請參閱 CMake 3.19 版本資訊 (英文) 以取得所包含內容的詳細資料。
  • 已將 STL 中許多 lock/guard 型別標示為 nodiscard: https://github.com/microsoft/STL/pull/1495 (英文)
  • IntelliSense:
  • MSVC 現在可判斷二進位檔所需的正確位址清理程式執行階段。 Visual Studio 專案會自動取得新的變更。 在命令列上使用位址清理程式時,現在只需要將 /fsanitize=address 傳遞給編譯器即可。
  • Visual Studio 的連線管理員現在支援使用 ECDSA 公開金鑰演算法的私密金鑰。
  • 安裝程式隨附的 LLVM 與 Clang 版本已更新為 v11。 如需詳細資訊,請參閱 LLVMClang 的版本資訊。
  • Visual Studio 現在會使用工具鏈檔案中的 CMake 變數來設定 IntelliSense。 這會為內嵌式和 Android 開發提供更佳體驗。
  • 實作 More Constexpr Containers 提議 (英文),其允許使用解構函式與新運算式作為 constexpr。 這可為 constexpr std::vector 與 std::string 等公用程式鋪路。
  • 針對 C++20 模組 IntelliSense 擴充支援,包括移至定義、移至模組及成員自動完成。
  • MSVC 編譯器中現在支援縮寫的函式範本

JavaScript/TypeScript

  • 針對如 WPF、WinForms 與 WinUI 3 專案的應用程式,現已支援進行 Edge Chromium 型的 WebView2 JavaScript/TypeScript 偵錯。 這可以透過選取 [專案屬性] 對話方塊中的 JavaScript 偵錯工具來加以啟用。 如需如何開始使用的詳細資料,請參閱這裡 (英文)

偵錯工具

  • 新增會檢查執行緒是否有鎖死的新自動分析器。
Auto Analyzer that inspects threads for deadlocks
  • 已新增能檢查 .NET Core 完成項佇列並偵測潛在封鎖物件的新自動分析器。
Auto Analyzer that inspects the .NET Core Finalizer queue
  • Visual Studio 現在會在偵錯工具停止 StackOverflow 例外狀況時,從呼叫堆疊篩選掉多餘的重複畫面。 您現在可以看到無限遞迴來源的堆疊基底,這希望能夠更輕鬆地調查這類 bug。
Filters out redundant repeating frames from the call stack when the debugger stops on a StackOverflow Exception

程式碼剖析工具

  • 新增的動態檢測案例更快速 (不需要 VSInstr) ,而且可讓 .net Core 應用程式進行檢測,而不需要 pdb。
Dynamic Instrumentation Profiling

F # 和 F # 工具

此版本針對 F # tools for Visual Studio 有數個生產力功能和效能改進:

  • .NET Core FSI 支援
  • 函數應用程式的簽章說明
  • 14個新的快速修正
  • 適用于 F # 工具的重大效能和回應性修正

您可以在 Visual Studio 16.9 或產品版本資訊的f # 和 f # 工具更新中閱讀相關資訊。

.NET 生產力

  • 現已針對前置處理器符號提供 IntelliSense 完成。
  • 方案總管現在會顯示新的 .NET 5.0 原始程式碼產生器。
  • [移至全部] 將不會顯示 netcoreapp3.1 與 netcoreapp2.0 之間的重複結果。
  • [快速諮詢] 現在會針對歸併顯示編譯器警告識別碼或編號。
  • 現在將類型複製並貼到新的檔案時,會自動新增 Using 指示詞。
  • 當您按 ; 接受完成清單中的方法時,IntelliSense 現在會自動插入括弧,以及建立物件和方法呼叫的分號。
  • C# 9.0 記錄的語意顏色標示。
  • 重構會移除不必要的捨棄項目。
  • 將逐字字串與一般字串轉換為差補字串的重構,該差補字串會保留要位在輸出中的大括號。
  • Visual Basic 中的程式碼修正,會在您轉換與「模組」共用的方法時,移除 shared 關鍵字。
  • 有建議在非爭議案例中使用 new(…) 的重構
  • 有針對 C# 與 Visual Basic 移除多餘相等運算式的程式碼修正
  • .NET 程式碼樣式 (IDE) 分析器現在可在組建上強制執行
  • Syntax Visualizer 會針對增強色彩顯示目前的前景色彩
  • 將滑鼠游標暫留在 pragma 警告的診斷識別碼上時會出現新的工具提示
  • 現在當您在註解內輸入 Return 鍵時,會自動將新行註解化
  • 內嵌參數名稱提示增強功能
  • 使用 WSL 2 的 .NET Core 偵錯

測試總管音訊提示和協助工具更新

  • 您現在可以使用測試總管設定音訊提示、[群組依據] 功能表已更容易由螢幕助讀程式存取,而且已可以使用可點選的連結來直接開啟記錄檔,以更輕鬆地檢視冗長的測試輸出。

實驗性 Razor 編輯器更新

  • HTML 與 C# 語意色彩標示
  • 將封閉式 Razor 檔案中反映的 C# 符號重新命名
  • 在 Razor 檔案中提供更多 C# 燈泡
  • 進一步改善 Razor 檔案中的混合內容格式設定

.NET Web 工具

Web 工具

  • 適用於 Azure 應用程式組態作為連線服務 (部分機器翻譯) 的增強 .NET 支援
  • 透過將 Azure 應用程式組態整合為已連線的服務,來管理應用程式的組態設定與功能旗標

XAML 工具 (WPF、WinUI、UWP & Xamarin)

MVVM 工具

  • 改良的 MVVM 支援: 在此版本中,我們在 XAML 編輯器中引進了燈泡,以產生可用的視圖模型中的屬性和命令。 我們也新增了燈泡,以協助將 XAML 中的設計 DataCoNtext 設定為可用的視圖模型,以改善系結 IntelliSense。

Xamarin.Forms

在此版本中,我們已對 Xamarin. Forms 開發人員進行多項改進:

  • XAML 熱重新載入的 [僅限變更] 模式現在是 Xamarin. x 專案的預設值: 從 Visual Studio 16.9 開始 XAML 熱重新載入「僅變更」模式現在是以 Xamarin.. x 或更高版本為目標之專案的預設 XAML 熱重新載入體驗。 以4.x 為目標的專案會自動回復為「完整頁面」 XAML 熱重新載入因為「僅限變更」只與 Xamarin.. x 版或更新版本相容。 如果您使用的是 Xamarin,而且想要使用舊的「整頁」熱重新載入模式的原因,您可以前往 [工具 > 選項] 下的 [熱重新載入設定], > 偵錯工具 > 熱重新載入

  • 在 [輸出] 視窗中 XAML 熱重新載入狀態更新: Xamarin. 使用 XAML 熱重新載入的 Forms 客戶現在可以使用 [輸出] 視窗,查看 XAML 熱重新載入管線發生什麼狀況的更多詳細資料。 若要開始使用,請使用 View > output 開啟 [輸出] 視窗,然後從視窗頂端的 [顯示輸出] 底下選取 [ Xamarin 熱重新載入

XAML Hot Reload - Output window information
  • Xamarin. Forms + UWP –已解決的 ExecutionEngineException: 從 2019 16.8 版的 Visual Studio 版開始,我們不慎引進了執行時間例外狀況,當開發人員將會針對以 Windows (UWP) 為目標的 Forms 應用程式進行偵錯工具時,就會觸發 ExecutionEngineException 錯誤。 從這個版本開始 (16.9 Preview 4) ,以及與NETCore microsoft.netcore.universalwindowsplatform NuGet (版本 6.2.12 +) 結合,現在應該可以解決此問題。 注意:此修正程式不只適用于 Visual Studio 2019 16.9 版。 將您的專案更新為使用新的 NuGet 套件,也應該解決 Visual Studio 16.9 版的這個問題。

Tools for Unity

  • 在 [區域變數] 視窗的新 [現用場景] 節點中進行偵錯工具時,查看根遊戲物件。
  • 在 [區域變數] 視窗的新 gameObject 節點中進行偵錯工具時,查看 GameObject 上的所有元件。
  • 使用 [區域變數] 視窗的 [子系] 和 [元件] 節點,來查看所有子系遊戲物件和元件。
  • 在 [作用中場景] 屬性中檢查時,查看場景中的 GameObject 位置。
  • 使用具有來源產生器的實體時,支援 JobEntityBatch/Lambda。
  • 改進了使用索引值區來顯示大型陣列的支援。
  • Raytrace 著色器、UXML 和 USS 檔案的語法反白顯示。
  • Visual Studio 現在會偵測遺漏哪些元件,並在使用 Unity 專案時提示您安裝它們。
  • Unity messages API 適用于所有用來做為協同程式更新的方法。

Git 生產力

  • 我們已使用內建的 [提供意見反應] 連結,為新的 Git UX 重新整理預覽功能旗標,將您直接引導至產品團隊。
  • Team Explorer 首頁] 和 [連線] 頁面會顯示要轉換至新的 Git UX 的詳細內容。
  • 支援分支推播通知中的自訂遠端。
  • 按兩下 Git 存放庫視窗中的分支,以簽出。
  • 使用鍵盤快速鍵 Ctrl + Enter 來認可變更。
  • 從 Git [變更] 視窗推送所有標記。

Visual Studio 安裝程式

  • Visual Studio 安裝程式不再於啟動時提高權限
  • Visual Studio 安裝程式現在支援 HDR 顯示
  • Visual Studio 安裝程式支援導覽器螢幕助讀程式
  • 已將安裝程式更新簡化為 Visual Studio 更新
  • Visual Studio 安裝程式新增了深色主題支援

Visual Studio 2019 16.9.0 版的新功能詳細資料

Git 生產力

  • 使用鍵盤快速鍵 (Ctrl + Enter) 認可變更

    Ctrl+Enter to Commit
    使用 Ctrl+Enter 認可變更

  • 從 Git [變更] 視窗推送所有標記。

Push all Tags
將所有標記推送到您的遠端

.NET 生產力

  • 使用 WSL 2 的 .NET Core 偵錯可讓您從 Visual Studio 於 WSL 2 中執行 .NET Core 主控台與 Web 應用程式,並對其進行偵錯。 這可讓以 Linux 實際執行環境為目標的 Windows 開發人員獲得更加精確的本機偵錯體驗。
.NET Core Debugging with WSL 2
使用 WSL 2 的 .NET Core 偵錯
  • 現在有建議在非爭議案例中使用 new(…) 的重構。 將滑鼠游標放在欄位宣告上。 按下 (Ctrl+ + . ),以觸發 [快速動作與重構] 功能表。 選取 [Use ‘new(…)’] (使用 ‘new(…)’)。
Use new(...) refactoring
[Use new(...)] \(使用 new(...)\) 重構
  • 現在有針對 C# 與 Visual Basic 移除多餘相等運算式的程式碼修正。 將滑鼠游標放在多餘相等運算式上。 按下 (Ctrl+ + . ),以觸發 [快速動作與重構] 功能表。 選取 [Remove redundant equality] (移除多餘相等)。
Remove redundant equality expressions code fix
[Remove redundant equality] \(移除多餘相等\) 運算式程式碼修正
  • .NET 程式碼樣式 (IDE) 分析器現在可在組建上強制執行。 您可以針對 C# (英文) 與 Visual Basic (英文) 將 .NET 程式碼樣式分析器安裝為 NuGet 套件,或是在 [專案屬性] 中加以啟用。 若要存取 [專案屬性],請以滑鼠右鍵按一下 [方案總管] 中的專案,然後選取 [屬性]。 接下來,選取 [程式碼分析] 索引標籤,在其中您可以選取 [Enforce CodeStyle on build (experimental)] (在組建上強制執行 CodeStyle (實驗性))。
Project Properties window to enable .NET Code Style Analyzers
啟用 .NET 程式碼樣式分析器的 [專案屬性] 視窗
  • Syntax Visualizer (會隨著 .NET Compiler Platform SDK 一起安裝) 現在會針對增強色彩顯示目前的前景色彩。 您只需使用視覺化檢視來瀏覽到想要變更色彩的文字 (或是在編輯器中加以選取),然後按一下分類的色彩來加以變更。
Syntax Visualizer Colorization
Syntax Visualizer 色彩標示
  • 現在將滑鼠游標暫留於 pragma 警告的診斷識別碼上時會出現工具提示。 診斷工具提示也會有可按一下的連結,其能瀏覽到文件。
Diagnostic Tooltip for Pragma Warnings
Pragma 警告的診斷工具提示
  • 現在當您在註解內輸入 Return 鍵時,您可能會注意到系統會自動將新行註解化。這是預設開啟的新選項。 若要避免系統自動將新行註解化,請移至 [工具] > [選項] > [文字編輯器] > [C#] 或 [Basic] > [進階],然後取消選取 [在寫入 // 時,於新行開頭插入 //]。

在 16.8 Preview 2 中,我們已新增內嵌參數名稱提示 (部分機器翻譯),其會在函式呼叫中的每個引數之前插入常值、轉換常值與物件具現化的裝飾。 在此版本中,我們已新增下列增強功能:

  • 針對您想要插入的裝飾類型提供更多自訂選項。

  • 適用於具有推斷類型與 Lambda 參數類型之變數的內嵌類型提示。

  • 在參數名稱符合方法的意圖,以及在參數名稱之間的差異只有尾碼時,停用內嵌參數名稱提示的選項。

  • 現在將類型複製並貼到新的檔案時,會自動新增 Using 指示詞。 您必須先開啟此選項,其位在 [工具] > [選項] > [文字編輯器] > [C#] 或 [Basic] > [進階],然後選取 [Add missing using directives on paste] (貼上時新增缺少的 Using 指示詞)。

Add missing using directives on paste
貼上時新增缺少的 Using 指示詞
  • 當您按 ; 接受完成清單中的方法時,IntelliSense 現在會自動插入括弧,以及建立物件和方法呼叫的分號。
Method call completion
方法呼叫完成
  • C# 9.0 記錄現在具有語意顏色標示。 您可從 [工具] > [選項] > [環境][字型和色彩] > 來自訂顏色。 在 [顯示項目] 中,捲動至 [使用者類型 - 記錄],然後選取所要套用至記錄的色彩。
Semantic colorization for records
記錄的語意顏色標示
  • 在 C# 9.0 中,某些模式比對案例不需要捨棄項目。 我們會逐漸淘汰不必要的捨棄項目,並提供程式碼修正來予以移除。 將游標停留在逐漸淘汰的捨棄項目上。 按下 (Ctrl+ + . ),以觸發 [快速動作與重構] 功能表。 選取 [移除不必要的捨棄項目]。
Remove unnecessary discard
移除不必要的捨棄項目
  • 現在有將逐字字串與一般字串轉換為差補字串的重構,該差補字串會保留要位在輸出中的大括號。 如果將字串指派給常數,則不會提供這個重構。 將游標停留在字串上。 按下 (Ctrl+ + . ),以觸發 [快速動作與重構] 功能表。 選取 [轉換為差補字串]。
Convert to an interpolated string that will preserve curly braces
轉換為保留大括號的差補字串
  • Visual Basic 中現在提供程式碼修正,其會在您轉換與「模組」共用的方法時,移除 shared 關鍵字。

  • 現已針對前置處理器符號提供 IntelliSense 完成。 開始輸入 #if 指示詞來查看目前已在範圍中定義之符號的新完成選項。

IntelliSense completion for preprocessor symbols
適用於前置處理器符號的 IntelliSense 完成
  • 方案總管現在會在 [分析器] 節點底下顯示新的 .NET 5.0 原始程式碼產生器 (英文),使您可以輕鬆地瀏覽並檢視產生的程式碼。
Source Generators node in Solution Explorer
方案總管中的 [原始程式碼產生器] 節點
  • [移至全部] 視窗不會顯示 netcoreapp3.1 與 netcoreapp2.0 之間的重複結果,也不會顯示僅為包裝另一個巢狀型別而存在之部分型別的結果。 這有助於降低結果的雜亂程度,使您可以輕鬆尋找並瀏覽至程式碼。 結果現在也會包含部分符號的檔案名稱。
Go To All will not display duplicate results across netcoreapp3.1 and netcoreapp2.0
[移至全部] 不會顯示 netcoreapp3.1 與 netcoreapp2.0 之間的重複結果
  • [快速諮詢] 現在會針對歸併顯示編譯器警告識別碼或編號。 將滑鼠游標暫留在警告識別碼或編號上方,以檢視該診斷識別碼的 [快速諮詢]。
Quick Info on compiler warning IDs or numbers for suppressions
針對適用於歸併的編譯器警告識別碼或編號的 [快速諮詢]

感謝您

最後的重要事項:由衷「感謝」本月度為 .NET 生產力有所貢獻的下列人員 (別名 Roslyn):

.NET Web 工具

  • 使用 Visual Studio 發佈 (例如,以滑鼠右鍵按一下 > [方案總管] 中的 [發佈]),將 Steeltoe 應用程式部署至 Azure Spring Cloud。 如果看不到此選項,請確定專案包含 NuGet 套件 Microsoft.Azure.SpringCloud.Client 版本 1.0.0-preview.1 或更新版本
Deploy your Steeltoe applications to Azure Spring Cloud
將 Steeltoe 應用程式部署到 Azure Spring Cloud

Web 工具

將應用程式組態新增為連線服務,以自動將您的應用程式連線到您的 Azure 應用程式組態資源。 現已支援針對 .NET Core 主控台專案自動產生程式碼,以及針對 .NET Framework 專案自動新增 NuGet 套件。 若要將此連線服務整合到您的應用程式,請按一下 [已連線的服務],然後將 [Azure 應用程式組態] 新增為 [服務相依性]。

Add App Config to Connected Services
將應用程式組態新增為連線服務
  • [已連線的服務] 索引標籤現在支援 Azure 應用程式組態。 應用程式組態可讓您集中管理應用程式設定與功能旗標。 當您新增此服務相依性時,您的程式碼會自動更新以連線到您的應用程式組態資源。 這包括安裝最新的 NuGet 套件,並將您的密碼儲存在本機或 Key Vault。
Manage your configurations with Azure App Configuration
使用 Azure 應用程式組態服務連線來管理您的組態

Visual Studio 安裝程式

為回應客戶要求,Visual Studio 安裝程式已納入數個新功能。

許多使用者現在會使用安裝程式來識別、啟動及管理 Visual Studio 的多個複本。 為協助這種使用模式,Visual Studio 安裝程式在啟動時不再需要提高權限,只有在對 Visual Studio 和機器進行變更時,才需要提高權限。 其他活動 (例如匯出安裝組態、瀏覽新聞及查看更新詳細資料) 則不再需要使用者事先提高權限。

舊版安裝程式偶爾會要求使用者採取額外的步驟來更新安裝程式。 透過這項更新,現在會由安裝作業來處理必要的安裝程式更新,移除額外的步驟。

安裝程式現在新增了深色模式主題選項。 使用者可透過標題列中的太陽/月亮 (☼ / ☽) 按鈕來變更安裝程式主題。 從 Visual Studio IDE 內所啟動更新會使用 Visual Studio 的目前主題選項。

VS Installer with dark theme and inline installer update
具有深色主題與內嵌安裝程式更新的 VS 安裝程式

測試總管音訊提示和協助工具更新

  • 測試總管現在可以在測試回合完成時播放音效。 您可以選取兩種音效,一個用來指出測試回合已成功且所有測試皆已通過,另一個用來指出測試回合已完成且至少有一個測試失敗。 此功能是來自使用者的要求,且能透過新增音效提示來改善測試總管的可存取性,並協助具有視覺障礙的開發人員。 音效選取項目會使用預設的 Windows 10 [聲音] 對話方塊,您也可以在其中選取預設音效或「您電腦上的任何音訊檔案」!
  • 測試總管中的 [群組依據] 現已更容易存取,並會在由螢幕助讀程式閱讀時,使用更加精簡的片語與文字順序。
  • 現在於測試總管中從 [測試詳細資料] 窗格檢視冗長的測試輸出已更加輕鬆,其會提供可直接開啟記錄檔的連結,而不是特殊的文件控制項。

測試體驗

  • 已為使用 Fakes 的 .NET Core 測試專案,針對收集程式碼涵蓋範圍新增支援。
  • 縮短了合併多個程式碼涵蓋範圍報表所需的時間。

IntelliCode

  • IntelliCode 現在會直接在 IntelliSense 完成清單內提供重複的編輯建議。 您可以檢視建議變更的預覽、在該位置套用,或直接在完成項目中略過這類建議。 深入了解 IntelliCode 的相關建議。(機器翻譯)

實驗性 Razor 編輯器更新

  • HTML 與 C# 語意色彩標示
  • 將封閉式 Razor 檔案中反映的 C# 符號重新命名
  • 在 Razor 檔案中提供更多 C# 燈泡:
    • 新增 DebuggerDisplay 屬性
    • 建立及指派屬性
    • 建立及指派欄位
    • 實作介面或抽象類別,包括針對「使用模式」(也就是「使用 Dispose 模式實作介面」) 的支援
    • 產生等於、雜湊碼、建構函式
  • 適用於參數的新增 Null 檢查與新增所有 Null 檢查
  • 進一步改善 Razor 檔案中的混合內容格式設定

若要啟用實驗性 Razor 編輯器,請移至 [工具] > [選項] > [環境] > [預覽功能],選取 [Enable experimental Razor editor] (啟用實驗性 Razor 編輯器),然後重新啟動 Visual Studio。

開發人員社群的問題

開發人員社群包含此版本中所有貨物的完整清單。

以下是16.9.0 中所發行的前幾個投票問題:


已知問題

遵循以下連結,查看所有已知問題和 Visual Studio 2019 中可用的因應措施。


意見反應與建議

我們很希望聽聽您的意見! 若有任何問題,請透過安裝程式或 Visual Studio IDE 本身右上角的回報問題選項來通知我們。 必須提供 Feedback Icon 圖示位在右上角。 您可以在 Visual Studio 開發人員社群中提出產品建議或追蹤您的問題,也可以提出問題、尋找解答及提議新功能。 您也可以透過我們的即時聊天支援取得免費的安裝協助。


部落格

善用「開發人員工具部落格」網站中的見解與建議,讓您能夠隨時取得所有新版本的最新資訊,以及涵蓋各類功能的深入探討文章。


Visual Studio 2019 版本資訊歷程記錄

如需舊版 Visual Studio 2019 的相關詳細資訊,請參閱 Visual Studio 2019 版本資訊歷程記錄頁面。


頁首