RCLogoVisual Studio 2019 16.7 版版本資訊


| 開發人員社群System 需求 | 相容性 | 可散發程式碼 | 發行歷程記錄 | 授權條款 | 部落格 | Visual Studio Docs 的新功能


注意

這不是 Visual Studio 的最新版本。 若要下載最新版本,請造訪 Visual Studio 網站。



支援時間範圍

Visual Studio 2019 16.7 版現已不支援。

Visual Studio 2019 16.7 版的企業和專業使用者受到支援,且已收到 2022 年 4 月的安全性弱點修正。 此時間範圍取決於 2021 年 3 月,Visual Studio 2019 16.9 版已指定為 Visual Studio 2019 產品的下一個維護基準。   如需 Visual Studio 所支援基準的詳細資訊,請參閱 Visual Studio 2019 的支援原則。 

請參閱 最新版本的版本資訊 ,或流覽 Visual Studio 網站以下載最新支援的 Visual Studio 2019 版本。

Visual Studio 2019 16.7 版

Visual Studio 2019 封存版本資訊

Visual Studio 部落格

Visual Studio 部落格 是 Visual Studio 工程小組的產品深入解析官方來源。 您可以在下列文章中找到 Visual Studio 版本的深入資訊:


版本資訊圖示Visual Studio 2019 16.7.28 版

發行于 2022 年 4 月 19 日

在此 Visual Studio 2019 16.7.28 版中

  • 已修正 16.7.27 vctip.exe回歸

版本資訊圖示Visual Studio 2019 16.7.27 版

發行于 2022 年 4 月 12 日

在此 Visual Studio 2019 16.7.27 版中

資訊安全諮詢注意事項

CVE-2022-24765權限提高弱點Git for Windows 中有潛在的權限提高弱點,Git 作業可以在 Git 目錄的快取時于存放庫外部執行。 適用于 Windows 的 Git 現在已更新為 2.35.2.1 版。

CVE-2022-24767 DLL 攔截弱點在 System 使用者帳戶下執行卸載程式時,適用于 Windows 安裝程式的 Git 中存在潛在的 DLL 攔截弱點。 適用于 Windows 的 Git 現在已更新為 2.35.2.1 版。

CVE-2022-24513權限提高弱點當 Microsoft Visual Studio 更新程式服務不正確地剖析本機設定資料時,可能會有許可權提升弱點。


版本資訊圖示Visual Studio 2019 16.7.26 版

發行于 2022 年 3 月 8 日

在此 Visual Studio 2019 16.7.26 版中

資訊安全諮詢注意事項

CVE-2020-8927弱點.NET 5.0 和 .NET Core 3.1 中有遠端程式碼執行弱點,其中 Buffer overflow 存在於 1.0.8 之前的 Brotli 程式庫版本中。

CVE-2022-24464弱點剖析特定 HTTP 表單要求類型時,.NET 6.0、.NET 5.0 和 .NET CORE 3.1 中存在拒絕服務弱點。

CVE-2022-24512弱點.NET 6.0、.NET 5.0 和 .NET Core 3.1 中有遠端程式碼執行弱點,其中堆疊緩衝區溢位發生在 .NET Double Parse 常式中。

CVE-2021-3711 OpenSSL Buffer Overflow 弱點OpenSSL 中有潛在的緩衝區溢位弱點,這是適用于 Windows 的 Git 所取用。 Git for Windows 現在已更新為 2.35.1.2 版,以解決此問題。


版本資訊圖示Visual Studio 2019 16.7.25 版

發行于 2022 年 2 月 8 日

在此 Visual Studio 2019 16.7.25 版中

資訊安全諮詢注意事項

CVE-2022-21871診斷中樞標準收集器執行時間權限提高弱點如果診斷中樞標準收集器不正確地處理資料作業,則存在權限提高弱點。


版本資訊圖示Visual Studio 2019 16.7.24 版

發行于 2022 年 1 月 11 日

在此 Visual Studio 2019 16.7.24 版中

  • 修正當使用 Windows 終端機 做為預設終端機時,無法對應用程式進行多次偵錯的問題。
  • 設定修正以在受限制的設定上解除封鎖客戶
  • 已修正導致用戶端無法更新最新啟動載入器的問題。 一旦用戶端使用 2022 年 1 月或更新版本的啟動載入器和安裝程式,使用後續啟動載入器的所有更新都應該在產品生命週期的持續時間內運作。

開發人員社群的問題


版本資訊圖示Visual Studio 2019 16.7.23 版

發行于 2021 年 12 月 14 日

在此 Visual Studio 2019 16.7.23 版中

  • 已將 Python 3.9.7 新增至 Python 工作負載。 已因安全性弱點而移除 Python 3.7.8。

資訊安全諮詢注意事項

CVE-2021-43877弱點ANCM 中有許可權提升弱點,當 .NET Core、.NET 5 和 .NET 6 應用程式裝載于 IIS 內時,可能會允許提高許可權。


版本資訊圖示Visual Studio 2019 16.7.22 版

發行于 2021 年 11 月 16 日

在此 Visual Studio 2019 16.7.22 版中

  • 啟動載入器現在遵守 --useLatestInstaller 參數,這會導致最新的安裝程式整合到版面配置中。 這個最新的安裝程式隨附于 Visual Studio 2022,可讓企業將用戶端從一個版面配置位置轉換為另一個配置位置的案例。 如需詳細資訊,請參閱 [Visual Studio 系統管理員指南] (* 啟動載入器現在遵守 --useLatestInstaller 參數,這會導致最新的安裝程式整合到版面配置中。這個最新的安裝程式隨附于 Visual Studio 2022,可讓企業將用戶端從一個版面配置位置轉換為另一個配置位置的案例。如需詳細資訊,請參閱 Visual Studio Administrators Guide.) 。

版本資訊圖示Visual Studio 2019 16.7.21 版

發行于 2021 年 11 月 9 日

在此 Visual Studio 2019 16.7.21 版中

  • 已修正導致 [開始] 功能表快捷方式連結消失的 Bug。 只有在在同一部電腦上更新多個不同產品 SKU 實例時,才會發生 Bug。

資訊安全諮詢注意事項

CVE-2021-42319權限提高弱點Visual Studio 安裝程式中包含的 WMI 提供者中存在提高許可權弱點。

CVE-2021-42277診斷中樞標準收集器服務提高許可權弱點當診斷中樞標準收集器不正確地處理檔案作業時,就存在提高許可權弱點。


版本資訊圖示Visual Studio 2019 16.7.20 版

發行于 2021 年 10 月 12 日

在此 Visual Studio 2019 16.7.20 版中

資訊安全諮詢注意事項

.NET 5.0 中的CVE-2021-41355洩漏弱點.NET 中存在資訊洩漏弱點,其中 System.DirectoryServices.Protocols.LdapConnection 會在 Linux 上以純文字傳送認證。

CVE-2020-1971 OpenSSL 拒絕服務弱點OpenSSL 程式庫中有潛在的阻斷服務弱點,Git 會取用此弱點。

CVE-2021-3449 OpenSSL 拒絕服務弱點OpenSSL 程式庫中有潛在的阻斷服務弱點,Git 會取用此弱點。

CVE-2021-3450 OpenSSL 拒絕服務弱點OpenSSL 程式庫中可能有旗標略過,Git 會取用此程式庫。


版本資訊圖示Visual Studio 2019 16.7.19 版

發行于 2021 年 9 月 14 日

在此 Visual Studio 2019 16.7.19 版中

資訊安全諮詢注意事項

CVE-2021-26434 Visual Studio 許可權指派許可權提升弱點不正確使用 C++ 安裝遊戲開發並選取 Unreal Engine 安裝程式工作負載之後,Visual Studio 中存在許可權指派弱點。 在安裝期間,系統會在安裝期間容易受到 LPE 攻擊,而該目錄會建立具有所有使用者寫入權限的目錄。

CVE-2021-36952 Visual Studio 遠端程式碼執行弱點當遠端程式碼執行弱點不正確地處理記憶體中的物件時,Visual Studio 中就存在。 成功惡意探索弱點的攻擊者可以在目前使用者的內容中執行任意程式碼。


版本資訊圖示Visual Studio 2019 16.7.18 版

發行于 2021 年 8 月 10 日

在此 Visual Studio 2019 16.7.18 版中

  • 修正了影響更新命令之命令列執行的問題。 如果第一次更新失敗,後續發行的 update 命令現在會導致更新繼續其離開的先前作業。

資訊安全諮詢注意事項

CVE-2021-26423 .NET Core 拒絕服務弱點存在拒絕服務弱點,其中 .NET (Core) 伺服器應用程式提供 WebSocket 端點,在嘗試讀取單一 WebSocket 框架時,可能會遭到無止盡迴圈。

CVE-2021-34485 .NET Core 資訊洩漏弱點當工具所建立的傾印收集損毀傾印和隨選傾印時,就會建立資訊洩漏弱點,並具有 Linux 和 macOS 的全域讀取權限。

CVE-2021-34532 ASP.NET Core資訊洩漏弱點如果無法剖析,則會記錄 JWT 權杖的資訊洩漏弱點。


版本資訊圖示Visual Studio 2019 16.7.17 版

發行于 2021 年 7 月 13 日

在此 Visual Studio 2019 16.7.17 版中

  • 插入 Visual Studio 2019 的 .NET 3.1.411 SDK。

版本資訊圖示Visual Studio 2019 16.7.16 版

發行于 2021 年 6 月 8 日

在此 Visual Studio 2019 16.7.16 版中

資訊安全諮詢注意事項

CVE-2021-31957 ASP.NET 拒絕服務弱點當 ASP.NET Core不正確地處理用戶端中斷連線時,就存在拒絕服務弱點。


版本資訊圖示Visual Studio 2019 16.7.15 版

發行于 2021 年 5 月 11 日

在此 Visual Studio 2019 16.7.15 版中

  • 修正當系統管理員建立 Visual Studio 的新版面配置以部署更新時,導致更新失敗的問題。 由於版面配置已移動位置,因此用戶端電腦更新將會失敗。

資訊安全諮詢注意事項

CVE-2021-27068 RCE 可以在巢狀資料夾中python.exe使用 Python 程式碼開啟工作區,且該工作區包含腳本子資料夾中的python.exe時,就會有遠端程式碼執行弱點。

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


版本資訊圖示Visual Studio 2019 16.7.14 版

發行于 2021 年 4 月 13 日

在此 Visual Studio 2019 16.7.14 版中

  • 優化器錯誤地移除使用中的程式碼
  • NuGet 會在一般輸出詳細資訊還原套件時報告套件來源和套件內容雜湊
  • NuGet 會將套件來源儲存在全域套件資料夾中的 .nupkg.metadata 檔案中。 全域套件資料夾中的現有套件將不會取得這項其他資訊。 您可以清除全域套件資料夾,以收集所有套件的套件來源資訊。

資訊安全諮詢注意事項

CVE-2021-27064 Visual Studio 安裝程式許可權提升弱點:當 Visual Studio 安裝程式以提升許可權狀態執行意見反應用戶端時,就存在遠端程式碼執行弱點。

CVE-2021-28313 / CVE-2021-28321/ CVE-2021-28322診斷中樞標準收集器服務提高許可權弱點 當診斷中樞標準收集器不正確地處理資料作業時,就存在提高許可權弱點。


版本資訊圖示Visual Studio 2019 16.7.13 版

發行于 2021 年 3 月 9 日

在此 Visual Studio 2019 16.7.13 版中

資訊安全諮詢注意事項

CVE-2021-21300 Git for Visual Studio 遠端程式碼執行弱點Visual Studio 複製惡意存放庫時,存在遠端程式碼執行弱點。

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


版本資訊圖示Visual Studio 2019 16.7.12 版

發行于 2021 年 2 月 9 日

在此 Visual Studio 2019 16.7.12 版中


版本資訊圖示Visual Studio 2019 16.7.11 版

發行于 2021 年 2 月 9 日

在此 Visual Studio 2019 16.7.11 版中

Visual Studio 2019 16.7.6 版優化編譯器的 Bug

資訊安全諮詢注意事項

CVE-2021-1639 TypeScript 語言服務遠端程式碼執行弱點當 Visual Studio 載入包含 JavaScript 或 TypeScript 程式碼檔案的惡意存放庫時,就存在遠端程式碼執行弱點。

CVE-2021-1721 .NET Core 拒絕服務弱點在 X509 憑證鏈結建置期間建立 HTTPS Web 要求時,存在拒絕服務弱點。

CVE-2021-24112 .NET 5 和 .NET Core 遠端程式碼執行弱點當圖形介面仍有參考時,處置中繼檔時,就會有遠端程式碼執行弱點。 此弱點只存在於 MacOS 或 Linux 上執行的系統上。


版本資訊圖示Visual Studio 2019 16.7.10 版

發行於 2021 年 1 月 12 日

在此 Visual Studio 2019 16.7.10 版的發行版本中

資訊安全諮詢注意事項

CVE-2021-1651 / CVE-2021-1680診斷中樞標準收集器服務提高許可權弱點 當診斷中樞標準收集器不正確地處理資料作業時,就存在提高許可權弱點。

CVE-2020-26870 Visual Studio 安裝程式遠端程式碼執行弱點當Visual Studio 安裝程式嘗試顯示惡意 Markdown 時,就會存在遠端程式碼執行弱點。

CVE-2021-1723 .NET Core 和 Visual Studio 拒絕服務弱點Kestrel 實作中存在拒絕服務弱點。


版本資訊圖示Visual Studio 2019 16.7.9 版

發行於 2020 年 12 月 8 日

在此 Visual Studio 2019 16.7.9 版的發行版本中

資訊安全諮詢注意事項

CVE-2020-17156 Visual Studio 遠端程式碼執行弱點Visual Studio 複製惡意存放庫時,存在遠端程式碼執行弱點。


版本資訊圖示Visual Studio 2019 16.7.8 版

2020 年 11 月 10 日發行

在此 Visual Studio 2019 16.7.8 版的發行版本中

資訊安全諮詢注意事項

CVE-2020-17100 Visual Studio 竄改弱點當適用於 Visual Studio 的 Python 工具建立 python27 資料夾時,就存在竄改弱點。 攻擊者若成功探索此弱點,即可在權限提升的內容中執行處理序。



版本資訊圖示Visual Studio 2019 16.7.7 版

發行於 2020 年 10 月 27 日

在此版 Visual Studio 2019 16.7.7 版中


版本資訊圖示Visual Studio 2019 16.7.6 版

發行於 2020 年 10 月 13 日

在此版 Visual Studio 2019 16.7.6 版中


版本資訊圖示Visual Studio 2019 16.7.5 版

2020 年 9 月 29 日發行

在此 Visual Studio 2019 16.7.5 版中


版本資訊圖示Visual Studio 2019 16.7.4 版

2020 年 9 月 21 日發行

在此 Visual Studio 2019 16.7.4 版本中

  • 新增 Xcode 12.0 GM 支援。
  • 新增在 Info.plist 編輯器中將某個色彩集設定為輔色的支援。

版本資訊圖示Visual Studio 2019 16.7.3 版

2020 年 9 月 8 日發行

在此 Visual Studio 2019 16.7.3 版本中

資訊安全諮詢注意事項

CVE-2020-1130診斷中樞標準收集器權限提高弱點當診斷中樞標準收集器不正確地處理資料作業時,就會存在權限提高弱點。 攻擊者若成功探索此弱點,即可在權限提升的內容中執行處理序。

CVE-2020-1133診斷中樞標準收集器權限提高弱點當診斷中樞標準收集器不正確地處理檔案作業時,就存在權限提高弱點。 攻擊者若成功探索此弱點,即可在權限提升的內容中執行處理序。

CVE-2020-16856 Visual Studio 遠端程式碼執行弱點當遠端程式碼執行弱點不正確地處理記憶體中的物件時,Visual Studio 中就存在。 成功惡意探索弱點的攻擊者可以在目前使用者的內容中執行任意程式碼。

CVE-2020-16874 Visual Studio 遠端程式碼執行弱點當遠端程式碼執行弱點不正確地處理記憶體中的物件時,Visual Studio 中就存在。 成功惡意探索弱點的攻擊者可以在目前使用者的內容中執行任意程式碼。

CVE-2020-1045 Microsoft ASP.NET Core安全性功能略過弱點Microsoft ASP.NET Core剖析編碼 Cookie 名稱的方式存在安全性功能略過弱點。 ASP.NET Core Cookie 剖析器會將整個 Cookie 字串解碼,這可能會讓惡意攻擊者設定以百分比將名稱編碼的第二個 Cookie。

此版本修正的其他問題

  • 已修正使用模式比對的 switch 陳述式或 switch 運算式會發生編譯器損毀的問題。
  • 已透過終止測試回合來還原單元測試的 [停止偵錯 (Shift+F5)] 工作流程。
  • 防止在 WinForms .NET Core 設計工具包含未儲存的變更時,切換專案設定會導致 VS 損毀的問題。
  • 若已從 VS 安裝程式中移除,則不受支援的 .NET Core 版本將不會再於修復或升級期間重新安裝。
  • 修正無法於 [在檔案中尋找] 內正確搜尋外部相依性的問題。
  • 在 [方案總管] 操作功能表的 Git 子功能表中重新引入 [認可…] 按鈕。
  • 已修正造成 TFVC 簽入提示標籤遭到隱藏的 Bug。
  • 修正搭配多個目標 Framework 在 SDK 樣式 csproj 中使用 WinForm 設計工具時造成損毀的問題。
  • 已修正 d:Style.DataCoNtext > 回報無效標記錯誤的問題 < 。

Visual Studio 2019 版本 16.7.3 中已修正的開發人員社群主要問題


版本資訊圖示Visual Studio 2019 16.7.2 版

2020 年 8 月 18 日發行

在此 Visual Studio 2019 16.7.2 版本中

Visual Studio 2019 16.7.2 版中修正的開發人員社群主要問題


版本資訊圖示Visual Studio 2019 16.7.1 版

發行於 2020 年 8 月 11 日

在 Visual Studio 2019 16.7.1 此版本中

Visual Studio 2019 16.7.1 版中修正的開發人員社群主要問題


版本資訊圖示Visual Studio 2019 16.7.0 版

發行於 2020 年 8 月 5 日

在 Visual Studio 2019 16.7.0 此版本中

C++

  • 遠端 C++ 支援現在支援更廣泛的 Linux distro 與 Shell,包括 sh、csh、bash、tsch、ksh、zsh 與 dash。 您可透過 ConnectionManager.exe 來修改新的 "shell" 屬性,以覆寫遠端連線的 shell 選擇。 這項支援已使用以遠端 Linux 系統或 WSL 為目標的 MSBuild 型 Linux 專案與 CMake 專案來進行測試。
  • 您現在可使用 Ninja (非常快速地評估累加建置的建置系統),以改善 MSBuild 型 Linux 專案的累加建置時間。 您可透過在 [一般] 屬性頁中,將 [啟用累加建置] 設定為 [使用 Ninja],以選擇使用這項功能。 Ninja (Ninja 式建置) 必須安裝在遠端 Linux 系統或 WSL 上。
  • 實作了新的 C++20 標準程式庫功能。 如需詳細清單,請參閱 GitHub 上的 STL 變更記錄
  • 您現可在連線管理員中編輯和設定預設的遠端 SSH 連線。 這表示您可以編輯現有的遠端連線 (例如其 IP 位址變更時),並在 CMakeSettings.json 和 launch.vs.json 中設定要使用的預設連線。 遠端 SSH 連線可讓您直接在 Visual Studio 中,建置及偵錯位於遠端 Linux 系統的 C++ 專案。
編輯連線管理員中的遠端連線
在連線管理員中編輯遠端連線
  • 在 Visual Studio 中增強了 Windows 上的 Clang (clang-cl) IntelliSense 支援。 Clang 的 include 路徑現在包含 clang 程式庫,我們改善了使用 std 程式庫時的編輯器內波浪線顯示,並且在 clang 模式中新增了 C++2a 的支援。
  • 您現在可以嘗試將程式碼錯誤加上底線,並在 C++ 專案中查看更多建議的快速修正。 在 [工具 > 選項 > ] 文字編輯器 > C/C++ > 實驗 > 性集合 [停用實驗性程式碼 Linter] 下啟用此功能。 前往 C++ 小組部落格深入了解。
IntelliSense 程式碼 linter
IntelliSense 程式碼 Linter
  • 新增了四個新的程式碼分析規則,以在 C++ 加入額外的安全性功能:C26817C26818C26819C26820
  • 我們已針對在具有 gdbserver 的遠端系統上對 CMake 專案進行偵錯新增第一級支援。
  • 在 Visual Studio 中使用適用於 C++ 之 AddressSanitizer 的實驗性實作 (現已可供 x64 原生專案使用),輕鬆地找出記憶體損毀錯誤。 我們現在也支援使用偵錯執行階段 (/MTd、/MDd、/LDd)。
  • IntelliSense 現已提供概念、指定初始設定式,以及其他數個 C++20 功能的基本支援。
  • .ixx 與 .cppm 檔案現已識別為 C++,而且語法螢光筆與 IntelliSense 也會將其當成 C++ 處理。

以動態方式定義播放清單

您現在可以根據 [專案]、[類別] 或 [命名空間] 以動態方式定義播放清單。 這表示您可以設定播放清單以包含特定專案/類別/命名空間中的所有內容;任何新增至該群組的新測試都會自動包含到您的播放清單中!

  • 在 [測試總管] 中以滑鼠右鍵按一下專案、命名空間或類別群組來建立播放清單。
測試總管:建立播放清單
測試總管:建立播放清單
  • 按一下工具列中的 [編輯] 按鈕來編輯要包含在播放清單中的群組。 核取方塊將會隨即出現。 視需要編輯群組。
測試總管:編輯播放清單
測試總管:編輯播放清單
  • 這些播放清單不會成為靜態的測試清單,而是會根據規則以動態方式更新。 如果您想要深入了解產生您動態播放清單的規則,請使用 [儲存] 按鈕將動態清單檔案儲存到磁碟,並在所產生的 xml 中檢視規則。
PlayList 檔案動態規則集
PlayList 檔案動態規則集
  • 您可以繼續包含/排除個別的測試,而播放清單將能夠更新其動態規則,或切換回以靜態清單的形式追蹤測試。 您也可以透過直接編輯播放清單 xml 檔案來使用特性以定義動態群組。

Git 生產力

開啟 [工具] | [選項] | [環境] 中的 [New Git user experience] \(新增 Git 使用者體驗\)'' 預覽功能來體驗此功能。

  • 從任何資料夾或全新資料夾開始建立新的 Git 存放庫
  • 在開始新的複製作業之前,先儲存並關閉已開啟的資料夾或解決方案
  • 在認可文字方塊中清楚檢視認可或隱藏訊息的錯誤
  • 在 Git 存放庫視窗的樹狀檢視中,檢視及管理 Git 分支
  • 在 Git 存放庫視窗中,於每個分支的歷程記錄圖之間切換並與其互動
  • 在 Git 存放庫視窗中檢視傳入與傳出認可
  • 內含最新功能詳細資料的 Git 生產力小組部落格 (英文)
在焦點 Git 存放庫視窗中管理分支和檢視歷程記錄
在焦點 Git 存放庫視窗中管理分支及檢視歷程記錄

透過聚焦於 Git 的合併編輯器,使用以下方式解決合併衝突:

  • 包含合併衝突的檔案資訊列會提示您開啟合併編輯器
  • 合併編輯器中的標題和說明提供更多資訊,也較不雜亂
  • 衝突中的差異會與對應的程式碼對齊,顯示文字層級的差異,並會在差異只在於空白字元時,顯示可見的空白字元。
  • 檔案層級新增/新增衝突的雙向合併
  • 只要按一下,就能以其中一邊為主,解決所有衝突
  • 有切換按鈕可以只專注於衝突,而忽略不衝突的差異
新的合併編輯器體驗
使用合併編輯器解決合併衝突

JavaScript/TypeScript

  • 已更新 [完成] 和 [快速諮詢] 的實作,以為 LiveShare 案例提供更佳支援。

Local Process with Kubernetes

使用 Kubernetes 的本機進程
Local Process with Kubernetes

Local Process with Kubernetes 讓您能在其餘應用程式或服務都連線到 Kubernetes 叢集時,在開發工作站上撰寫、測試及偵錯您的 .NET 程式碼。 將開發工作站連線到叢集,您就不需要在開發電腦上手動執行和設定相依服務。 您在本機執行的微服務程式碼可以使用來自叢集的環境變數、連接字串和磁碟區。 不需要增加額外的資產,例如 Dockerfile 或 Kubernetes 資訊清單。 您只要像平常一樣執行、偵錯和測試 .NET 程式碼即可。

若要使用 Kubernetes 啟用本機進程,請移至 [工具 > 選項 > ] [ > 預覽功能],然後選取 [啟用 Kubernetes 服務的本機偵錯]。

啟用預覽功能
啟用預覽功能

若是 .NET 主控台應用程式,則需要額外的步驟。 請安裝 "Microsoft.VisualStudio.Azure.Kubernetes.Tools.Targets" Nuget 套件。

.NET 生產力

當隱藏項目運算子存在但沒有效果時,現在即會有警告與程式碼修正。 亦可使用建議正確否定運算式的第二個程式碼。 將游標放在隱藏項目運算子上。 按下 (Ctrl+ + . ),以觸發 [快速動作與重構] 功能表。 接著,選取下列其中一項:

  • 若要完全移除運算子,請選取 [移除運算子 (保留語意)]:
移除隱藏運算子的程式碼修正
程式碼修正以移除隱藏項目運算子
  • 若要否定該運算式,請選取 [否定運算式 (變更語意)]:
否定運算式的程式碼修正
程式碼修正以否定運算式
  • 若其可在專案中使用,則也可使用新的 C# 9 not 模式:
使用 not 來否定運算式的程式碼修正
使用 not 的程式碼修正來否定運算式

現在當在類型中產生函式時可產生屬性。 將游標放在執行個體上。 按下 (Ctrl+ + . ),以觸發 [快速動作與重構] 功能表。 在QualifiedName > (中 < 選取 [產生建構函式],其屬性)

產生建構函式時產生屬性
當產生函式時產生屬性
  • 快速諮詢現在會一併顯示診斷識別碼與說明連結,讓您輕鬆導覽至我們的文件,深入了解程式碼中的警告和錯誤。
快速諮詢診斷識別碼和說明連結
快速諮詢診斷識別碼和說明連結
  • 現在已有快速動作可將偵錯工具顯示屬性新增至類別。 這可讓您將偵錯工具內的屬性以程式設計方式釘選到您的程式碼中。 將游標放在類別名稱上。 按下 (Ctrl++. ),以觸發 [快速動作與重構] 功能表。 選取 [新增 ‘DebuggerDisplay` 屬性]。 這會將偵錯工具 Display 屬性新增到類別的頂端,並產生會傳回 ToString() 的 Auto 方法,您可以加以編輯以傳回您想要在偵錯工具中釘選的屬性值。
新增偵錯工具顯示內容
新增 Debugger Display 屬性
  • 現已有適用於對相同變數之意外指派或比較的程式碼修正。 將游標放在警告上。 按下 (Ctrl++. ),以觸發 [快速動作與重構] 功能表。 針對意外指派,請選取 [指派給 < QualifiedName.value >]。 如需意外比較,請選取 [與 < QualifiedName.value > 比較]。
意外指派程式碼修正
意外指派程式碼修正
意外比較程式碼修正
意外比較程式碼修正
  • 您現在可以針對實作 IComparable 的類型產生比較運算子。 將游標放在類別內或 IComparable 上。 按下 (Ctrl++. ),以觸發 [快速動作與重構] 功能表。 選取 [產生比較運算子]。 系統將會為您產生具有比較運算子的未定案區段。
產生比較運算子
產生比較運算子
  • 您現在可以在針對結構產生 .Equals 時產生 IEquatable 運算子。 我們已經針對適用於實值類型的 [產生 Equals 與 GetHashCode] 具有重構。 現在針對結構,我們將會為您自動新增 IEquatable,以及等於和不等於運算子。 將游標放在結構內。 按下 (Ctrl++. ),以觸發 [快速動作與重構] 功能表。 選取 [產生 Equals(object)]。
產生 IEquatable 運算子
產生 IEquatable 運算子
  • 您現在可以針對所有未使用的建構函式參數建立及指派屬性或欄位。 我們已經有可讓您針對個別參數執行此動作的快速動作,但現在您可以同時對所有未使用的參數這麼做。 將游標放在任何剩餘的參數上。 按下 (Ctrl++. ),以觸發 [快速動作與重構] 功能表。 若要建立並初始化屬性,請選取 [建立其餘項目並將其指派為屬性]。 若要建立並初始化欄位,請選取 [建立其餘項目並將其指派為欄位]。
建立和指派剩餘欄位
建立並指派其餘欄位
建立和指派剩餘屬性
建立並指派其餘屬性
  • 在 DateTime 和 TimeSpan 字串常值中,現在已有 IntelliSense 完成。 將游標放在 DateTime 或 TimeSpan 字串常值內,然後按 (Ctrl+空格鍵)。 您接著將會看到完成選項,以及每個字元所代表之意思的說明。 系統會同時提供日期時間格式和範例。
DateTime 和 TimeSpan 中的 IntelliSense 完成
DateTime 和 TimeSpan 字串常值中的 IntelliSense 完成
  • 您現在可以在 [變更簽章] 對話方塊內新增參數。 將游標放在方法的簽章內。 按下 (Ctrl++. ),以觸發 [快速動作與重構] 功能表。 選取 [變更簽章]。 下列對話方塊將會隨即開啟,且您現在可以在其中選取 [新增] 以新增參數。 在您選取 [新增] 之後,新的 [加入參數] 對話方塊將會隨即開啟。 [加入參數] 對話方塊可讓您新增類型名稱和參數名稱。 您可以選擇使參數為必要或選擇性且具預設值。 您可以接著在呼叫位置新增值並為該值選擇具名引數,或是引進 TODO 變數。 TODO 變數會將 TODO 放在您的程式碼中,讓您可以瀏覽每個錯誤並個別瀏覽每個呼叫位置,然後決定要傳遞的內容。 針對選擇性參數,您可以選擇完全省略呼叫位置。
變更簽章對話方塊
[變更簽章] 對話方塊
新增參數對話方塊
[加入參數] 對話方塊
  • 分析器建立者現在可以在使用 NuGet 來傳送其分析器時,使用 CompletionProviders 來進行 IntelliSense 完成。 之前,程式庫建立者必須建立個別的 VSIX,因為 CompletionProviders 只能在 VSIX 中使用。 現在,程式庫建立者可以在其分析器所在的 NuGet 套件中實作 IntelliSense 完成,且不需要個別執行此動作。 在 NuGet 套件中實作的完成提供者也能夠為個別專案提供特定的建議,且能在支援該功能的每個 IDE 中自動運作。

Razor

透過選取 [啟用實驗性 Razor 編輯器] 預覽功能,試用新實驗性語言伺服器通訊協定 (LSP) 提供技術支援的 Razor 編輯器和所有 Razor 檔案 (.cshtml/.razor)。

測試總管

已將 [執行/偵錯檢視中的所有測試] 新增到 [測試總管]。 這些命令會取代出現在 [測試總管] 中 [執行所有測試] 和 [偵錯所有測試] 命令的所有位置。 這項變更釐清這些命令會接受 [測試總管] 的篩選,如此只會執行出現在視窗中的測試。 這包含資料行篩選和搜尋方塊篩選。

[測試總管] 執行/偵錯 [檢視] 命令中的所有測試
測試總管執行/偵錯檢視中的所有測試命令

[全域執行/偵錯所有項目] 命令現在只會顯示在最上層的測試功能表中。 其不會再包含在任何測試視窗檢視的 [測試總管] 工具列或操作功能表中。 從 [測試總管] 觸發時,[分析所有測試的程式碼涵蓋範圍] 現在也會套用到測試視窗檢視。

快速鍵:

  • Ctrl R、A - 執行所有測試 - 全域命令一律會執行所有測試
  • Ctrl R、V - 執行所有檢視中的測試 - 只有在測試視窗 (測試總管、播放清單、即時單元測試視窗) 為作用中視窗時,這個項目才是有效的命令
  • Ctrl R、Ctrl A - 偵錯所有測試 - 全域命令一律會偵錯所有測試
  • Ctrl R、Ctrl V - 偵錯檢視中的所有測試 - 只有在測試視窗 (測試總管、播放清單、即時單元測試視窗) 為作用中視窗時,這個項目才是有效的命令

偵錯工具

透過原生指標來檢視受控 COM 物件

此功能自動解碼原生指標參考的受控 COM 物件,讓您完整檢查 [本機] 視窗中的值。 您可以在此處的 Visual Studio 部落格中找到其他詳細資料。

程式碼剖析工具

新的 .NET 效能計數器工具

.NET 效能計數器工具
.NET 效能計數器工具

使用 .NET 效能計數器工具,直接從 Visual Studio 分析工具中視覺化 Dotnet 計數器。 若要試用此工具,請移至 偵錯 - > 效能分析工具 - > 核取記號 .NET 效能計數器工具

Xamarin

  • 已針對使用 Android 配置檔案的使用者所遇到最常見問題類型,引入了程式碼修正程式。
  • Xamarin.Forms 範本選擇體驗現在有更具說明性的新外觀,且彈出式視窗與索引標籤式範本現在會使用 Shell。 請在這裡閱讀 Shell 的相關資訊。 若基於某些原因而不想使用 Shell,請使用空白範本。
新的 Xamarin.Forms 範本選取體驗
選擇 Xamarin.Forms 範本

XAML 工具 (WPF、UWP & Xamarin.Forms)

XAML 熱重新載入:

  • 應用程式內工具列改善:我們已進一步精簡應用程式內工具列體驗,這是 WPF & UWP 的 XAML 熱重新載入工具工作流程的一部分。 變更會包含較短的工具列,使其不再涵蓋執行中的應用程式,而摺疊機制的變更會在按一下時,先摺疊 XAML 熱重新載入文字,然後在第二次按一下時完全摺疊該橫條圖。

XAML 設計工具:

  • WPF & 的擴充設計階段資料支援UWP: 在此版本中,我們引進了 WPF .NET Core 和 UWP 開發人員的新設計階段資料功能。 此新功能會透過 d: 前置詞,延伸可存取設計階段屬性目前的清單。 Xamarin.Forms 開發人員會很熟悉此功能,因為其同樣可以使用 “d:” 前置詞來表示屬性,因此種表示法只在設計階段呈現,且永不編譯至執行的應用程式中,所以用於設計階段 UI 驗證非常安全。 在此版本中,我們支援 WPF 與 UWP 全部的現成控制項,並計畫在未來版本中支援協力廠商與自訂控制項。
  • XAML 設計工具重新整理按鈕: 我們已在 XAML 設計工具中新增重新整理按鈕,這個新圖示可在接近縮放層級指示器的左下角圖示區域中找到。 此重新整理動作會執行關閉設計工具檢視的對等重新設定,並在發生這種稀有情況時重新開啟,以解決轉譯問題。 此功能適用於 WPF .NET Core 與 UWP 開發人員。

XAML 程式碼編輯器:

  • 色彩視覺化檢視: 我們已在 WPF .NET Core、WPF .NET Framework 與 Xamarin.Froms 專案的 XAML 程式碼編輯器中,進一步縮小了新的色彩視覺化檢視。 在此版本中,我們新增支持來自資源的色彩視覺化,先前的預覽版本並不支援此功能。
XAML 程式碼編輯器中的內嵌色彩預覽
XAML 程式碼編輯器中的內嵌色彩預覽

顯示 NuGet 套件中的工具箱項目,但不含套件參考

許多控制項程式庫的作者都希望能在工具箱中顯示控制項,即使目前的專案尚未參考該程式庫也一樣,因為這有助於提高發現能力。 WPF .NET Framework SDK 在過去使用登錄專案來完成此作業,但 .NET Core 不支援此功能。 對於 WPF .NET Core,工具箱現在可以填入 VisualStudioToolsManifest.xml 檔案中的控制項,這些檔案位在 NuGet 後援資料夾的 WPF .NET Core NuGet 套件中。 如需詳細資訊,請參閱 XAML Designer Extensibility GitHub 存放庫中的文件。

Windows Forms

適用於 .NET Core 的 Windows Form 設計工具

適用於 .NET Core 專案的 Windows Form 設計工具現已可用。 若要在 Visual Studio 中啟用設計工具,請移至 [工具 > 選項 > 環境 > 預覽功能],然後選取 [使用適用于 .NET Core 應用程式的預覽Windows Forms設計工具] 選項。

在此版本中,現已支援下列控制項及其他改善:

  • UserControl 和自訂控制項基礎結構
  • TableLayoutPanel
  • 適用於第三方控制項的基礎
  • 適用於資料繫結支援的基礎
  • 設計工具與 TableLayoutPanel 之互動的改善

錯誤修正

Visual Studio 2019 16.7.0 版修正的重大問題

  • 已修正 WMI 提供者元件安裝失敗的問題。
  • 修正了使用者無法透過按一下列底部左側按鈕來查看測試回合進度的問題。
  • 改善了探索可用 Visual Studio 程式碼空間計費方案的效能。
  • 建立 Visual Studio 程式碼空間時,我們會將預設的暫停時間從 30 分鐘變更為 3 小時。
  • 修正 Git [變更] 視窗通知使用者其有傳入/傳出認可,但事實上沒有的 Bug。
  • 改善了診斷工具與效能分析工具的穩定性。
  • 解決了 Azure Sphere Visual Studio 延伸模組因為次要版本不相符而無法自動更新的問題。 修正之後,當 VSIX 自動更新程式執行時,Azure Sphere 就能自動更新。

開發人員社群的問題


已知問題

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


意見反應與建議

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


部落格

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


Visual Studio 2019 版本資訊歷程記錄

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


頁首