共用方式為


2022Logo Visual Studio 2022 17.4 版發行備註


提示

觀看 Visual Studio 2022 上市活動的錄製內容以了解新功能、聆聽提示及技巧,以及下載免費的數位 Swag。

開發人員社群 | Visual Studio 2022 藍圖 | 系統需求 | 相容性 | 可散發程式碼 | 版本歷程記錄 | 授權條款 | 部落格 | 最新版已知問題 | Visual Studio Docs 的新功能


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

下載 Community 按鈕下載 Professional 按鈕下載 Enterprise 按鈕

若要下載其他 Visual Studio 2022 產品,請造訪 Visual Studio 網站。


支援時間範圍

已設定為在 17.4 LTSC 通道上接收更新的 Visual Studio 2022 17.4 版的企業版和專業版使用者,都可在 2024 年 1 月前受到支援及收到安全性弱點的修正程式。 如需 Visual Studio 所支援基準的詳細資訊,請參閱 Visual Studio 2022 的支援原則

按一下下列其中一個按鈕,從 17.4 LTSC 通道下載最安全的 Visual Studio 2022 17.4 版。 您可以在 Visual Studio 訂閱網站上找到額外的 17.4 LTSC 產品。

下載 Enterprise 版 LTSC 按鈕下載 Professional 版 LTSC 按鈕

您只能在具有 Visual Studio 最新次要版本的最新維護版的「目前通道」上取得 Visual Studio Community 版本。

請瀏覽 Visual Studio 網站,以存取最新版 Visual Studio 2022 產品的連結。 如需安裝和更新 Visual Studio 2022 的指示,請參閱將 Visual Studio 2022 更新至最新版本Visual Studio 系統管理員指南包含如何跨組織部署 Visual Studio 的指引。

Visual Studio 2022 部落格

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

我們已在此版本中處理一些通報率最高的錯誤 (bug),並根據您在開發人員社群中提出的建議新增功能。 感謝您的持續提供意見反應。 以下是我們隨附在此預覽版中的建議清單。


Visual Studio 2022 17.4 版


17.4.21 Visual Studio 2022 17.4.21 版

2024 年 7 月 9 日發行

此版本中已解決的問題

  • 將 MinGit 更新為 v2.45.2.1,此版本包含 GCM 2.5,可解決先前 GCM 版本的問題:複製之後就向 Git 回報錯誤,使得複製作業似乎失敗一樣。

已解決的資安漏洞諮詢通告

  • CVE-2024-38081 Windows 作業系統上 Visual Studio 安裝程式存在弱點:允許非特殊權限使用者操作 Visual Studio 安裝,導致權限提高。
  • CVE-2024-30105 .NET 中存在弱點:使用 System.Text.Json 針對不受信任的輸入呼叫 JsonSerializer.DeserializeAsyncEnumerable 方法時,可能導致 [拒絕服務]。
  • CVE-2024-38095 .NET 中 System.Formats.Asn1 剖析 X.509 憑證或憑證集合時存在弱點:惡意憑證可能會造成所有平台的 CPU 過度使用,導致 [拒絕服務]。
  • CVE-2024-35264 ASP.NET Core 8 中的弱點:Kestrel HTTP/3 中的資料損毀可能導致遠端程式碼執行。

17.4.20 Visual Studio 2022 17.4.20 版

2024 年 6 月 11 日發行

此版本中已解決的問題

  • 升級到 Windows 的 Germanium 組建之後,WSL 需要手動升級。 這可能會導致 Visual Studio 在開啟 CMake 專案時停止回應。

已解決的資安漏洞諮詢通告

  • CVE-2024-30052 在偵錯包含具有適當副檔名的惡意檔案的傾印檔時會發生「遠端程式碼執行」攻擊
  • CVE-2024-29060 受影響的 Visual Studio 安裝執行中的權限提高
  • CVE-2024-29187 以 SYSTEM 身分執行時,基於 WiX 的安裝程式易受到二進位檔劫持的威脅

17.4.19 Visual Studio 2022 17.4.19 版

2024 年 5 月 14 日發行

此版本中已解決的問題

  • “Xamarin” 和 “Xamarin Profiler”安裝程式元件已標示為「不支援」。
  • 此版本也包含 v3.2.1 的 OpenSSL 更新

已解決的資安漏洞諮詢通告

  • CVE-2024-32002 支援符號連結之不區分大小寫檔案系統上的遞迴複製品容易受到遠端程式碼執行的影響。
  • CVE-2024-32004 遠端程式碼執行的同時複製特殊製作的本機存放庫
  • CVE-2024-30045 .NET 7.0 和 .NET 8.0 中存在遠端程式碼執行弱點,其中堆疊緩衝區溢位發生在 .NET Double Parse 常式中。
  • CVE-2024-30046 弱點存在於Microsoft.AspNetCore.Server.Kestrel.Core.dll,其中可能會發生導致拒絕服務的死結。

17.4.18 Visual Studio 2022 17.4.18 版

2024 年 4 月 9 日發行

此 17.4.18 版中已解決的問題

  • 透過此錯誤修正,用戶端現在可以在配置中使用啟動載入器並傳入 --noWeb 參數以在用戶端電腦上安裝,並確保僅從配置下載安裝程式和 Visual Studio 產品。 先前,有時在安裝過程中,安裝程式不會考慮 -noWeb 參數,而且會嘗試從網路進行自我更新。

已解決的資安漏洞諮詢通告

  • CVE-2024-21409 WPF 中存在釋放後使用弱點,在檢視不受信任的文件時可能會導致權限提升。
  • CVE-2024-28929 此更新解決了 Microsoft ODBC Driver for Microsoft SQL Server 中的遠端程式碼執行弱點。
  • CVE-2024-28930 此更新解決了 Microsoft ODBC Driver for Microsoft SQL Server 中的遠端程式碼執行弱點。
  • CVE-2024-28931 此更新解決了 Microsoft ODBC Driver for Microsoft SQL Server 中的遠端程式碼執行弱點。
  • CVE-2024-28932 此更新解決了 Microsoft ODBC Driver for Microsoft SQL Server 中的遠端程式碼執行弱點。
  • CVE-2024-28933 此更新解決了 Microsoft ODBC Driver for Microsoft SQL Server 中的遠端程式碼執行弱點。
  • CVE-2024-28934 此更新解決了 Microsoft ODBC Driver for Microsoft SQL Server 中的遠端程式碼執行弱點。
  • CVE-2024-28935 此更新解決了 Microsoft ODBC Driver for Microsoft SQL Server 中的遠端程式碼執行弱點。
  • CVE-2024-28936 此更新解決了 Microsoft ODBC Driver for Microsoft SQL Server 中的遠端程式碼執行弱點。
  • CVE-2024-28937 此更新解決了 Microsoft ODBC Driver for Microsoft SQL Server 中的遠端程式碼執行弱點。
  • CVE-2024-28938 此更新解決了 Microsoft ODBC Driver for Microsoft SQL Server 中的遠端程式碼執行弱點。
  • CVE-2024-28941 此更新解決了 Microsoft ODBC Driver for Microsoft SQL Server 中的遠端程式碼執行弱點。
  • CVE-2024-28943 此更新解決了 Microsoft ODBC Driver for Microsoft SQL Server 中的遠端程式碼執行弱點。
  • CVE-2024-29043 此更新解決了 Microsoft ODBC Driver for Microsoft SQL Server 中的遠端程式碼執行弱點。

17.4.17 Visual Studio 2022 17.4.17 版

發行於 2024 年 3 月 12 日

此 17.4.17 版中已解決的問題

已解決的資安漏洞諮詢通告

  • CVE-2024-21392 .NET 中有一個弱點,其中特製的要求可能會導致資源流失,進而導致拒絕服務。
  • CVE-2024-26190 MsQuic.dll 中存在弱點,這可能會導致同儕節點在連線保持運作時配置小型記憶體區塊。
  • CVE-2023-27911 此諮詢正在重新發佈,表示 Visual Studio 2022 不再支援 Autodesk® FBX® SDK。

17.4.16 Visual Studio 2022 17.4.16 版

發行於 2024 年 2 月 13 日

此 17.4.16 版中已解決的問題

已解決安全性諮詢

  • CVE-2024-0057 當 Microsoft .NET Framework 型應用程式使用 X.509 鏈結建置 API 但由於邏輯缺陷而未完全驗證 X.509 憑證時,安全性功能會略過弱點。
  • CVE-2024-21386 使用 Azure SignalR Service 的 ASP.NET 應用程式中存在弱點,惡意用戶端可能會導致拒絕服務。
  • CVE-2024-21404 剖析 X509 憑證時,.NET 中存取 OpenSSL 支援的拒絕服務弱點。

17.4.15 Visual Studio 2022 17.4.15 版

發行於 2024 年 1 月 9 日

此 17.4.15 版中已解決的問題

  • 已將 MinGit 更新為 v2.43.0.1,該版本隨附於 OpenSSL v3.1.4,並解決了在某些情況下網路作業非常慢的迴歸問題。

已解決安全性諮詢

  • CVE-2024-20656 VSStandardCollectorService150 服務中存在弱點,在其中本地攻擊者可以在執行受影響 Microsoft Visual Studio 安裝的主機上提升權限。
  • CVE-2023-32027 重新發佈此公告是為了解決 Visual Studio 中 Microsoft ODBC Driver for SQL Server 遠端程式碼執行弱點問題。
  • CVE-2023-32025 重新發佈此公告是為了解決 Visual Studio 中 Microsoft ODBC Driver for SQL Server 遠端程式碼執行弱點問題。
  • CVE-2023-32026 重新發佈此公告是為了解決 Visual Studio 中 Microsoft ODBC Driver for SQL Server 遠端程式碼執行弱點問題。
  • CVE-2023-29356 重新發佈此公告是為了解決 Visual Studio 中 Microsoft ODBC Driver for SQL Server 遠端程式碼執行弱點問題。
  • CVE-2023-32028 重新發佈此公告是為了解決 Visual Studio 中 Microsoft SQL OLE DB 遠端程式碼執行弱點問題。
  • CVE-2023-29349 重新發佈此公告是為了解決 Visual Studio 中 Microsoft ODBC 和 OLE DB 遠端程式碼執行弱點問題。
  • CVE-2024-0057 當 Microsoft .NET Framework 型應用程式使用 X.509 鏈結建置 API 但由於邏輯缺陷而未完全驗證 X.509 憑證時,安全性功能會略過弱點。
  • CVE-2024-0056 MICROSOFT.Data.SqlClient 和 System.Data.SqlClient SQL 資料提供者中存在弱點,攻擊者可以在 SQL 用戶端與 SQL 伺服器之間執行攔截攻擊 (有時稱為 MITM 或中間人攻擊)。
  • CVE-2024-21319 Microsoft 發行此資訊安全諮詢的目的,是提供 ASP.NET Core 專案範本中有關弱點的資訊。

17.4.14 Visual Studio 2022 17.4.14 版

2023 年 11 月 14 日發行

此 17.4.14 版中已解決的問題

開發人員社群的問題:

已解決安全性諮詢

  • CVE-2023-36038ASP.NET IIS 中存在一個弱點,其中遠端未經驗證的使用者可能會對可能導致拒絕服務的 .NET 應用程式發出特製要求。
  • CVE-2023-36049.NET 中存在權限提高弱點,其中提供給 System.Net.WebRequest.Create 的不受信任 URI 可用來將任意命令插入後端 FTP 伺服器。
  • CVE-2023-36558ASP.NET 存在安全性功能略過弱點,其中未經驗證的使用者能夠略過 Blazor 伺服器表單上的驗證,這可能會觸發非預期的動作。
  • CVE-2023-36042Visual Studio 中存在拒絕服務弱點,其中格式不正確的裝飾名稱可能會導致無限迴圈。

17.4.13 Visual Studio 2022 17.4.13 版

2023 年 10 月 24 日發行

此 17.4.13 版中已解決的問題

重新發佈的安全性諮詢

  • CVE-2023-36799.NET 中存在弱點,其中讀取惡意製作的 X.509 憑證可能會導致拒絕服務。 此問題只會影響 Linux 系統。
  • CVE-2023-36796此安全性更新會在讀取損毀的 PDB 檔案時,解決 DiaSymReader.dll 中的弱點,這可能會導致遠端程式碼執行。
  • CVE-2023-36794此安全性更新會在讀取損毀的 PDB 檔案時,解決 DiaSymReader.dll 中的弱點,這可能會導致遠端程式碼執行。
  • CVE-2023-36793此安全性更新會在讀取損毀的 PDB 檔案時,解決 DiaSymReader.dll 中的弱點,這可能會導致遠端程式碼執行。
  • CVE-2023-36792此安全性更新會在讀取損毀的 PDB 檔案時,解決 DiaSymReader.dll 中的弱點,這可能會導致遠端程式碼執行。

17.4.12 Visual Studio 2022 17.4.12 版

2023 年 10 月 10 日發行

17.4.12 版中已解決的問題

  • MSVC v143 C++ 建置工具選項 v14.32-17.2 和 v14.34-17.4 現在會安裝正確的應用程式本機可轉散發二進位檔版本。

已解決安全性諮詢

  • CVE-2023-36435MsQuic.dll 中存在記憶體流失弱點,可能會導致拒絕服務。 此問題只會影響 Windows 系統。
  • CVE-2023-38171MsQuic.dll 中存在 null 指標弱點,可能會導致拒絕服務。 此問題只會影響 Windows 系統。
  • CVE-2023-44487ASP.NET Core Kestrel 網路伺服器中存在弱點,惡意用戶端可能會用特製的 HTTP/2 要求來癱瘓伺服器,導致拒絕服務。

17.4.11 Visual Studio 2022 17.4.11 版

2023 年 9 月 12 日發行

17.4.11 版中已解決的問題

  • 已將 Visual Studio 使用的 Git 版本更新為 v 2.41.0.3。
  • 已修正 MSVC 工具組,如此一來,當 vcperf 工作階段以 '/noadmin' 旗標啟動時,CL 不會失敗。 這樣可以進行 Build Insights 的資料收集 (並最佳化建置時間),而不需要提高權限。

開發人員社群的問題:

已解決安全性諮詢

  • CVE-2023-36799.NET 中存在弱點,其中讀取惡意製作的 X.509 憑證可能會導致拒絕服務。 此問題只會影響 Linux 系統。
  • CVE-2023-36796此安全性更新會在讀取損毀的 PDB 檔案時,解決 DiaSymReader.dll 中的弱點,這可能會導致遠端程式碼執行。
  • CVE-2023-36794此安全性更新會在讀取損毀的 PDB 檔案時,解決 DiaSymReader.dll 中的弱點,這可能會導致遠端程式碼執行。
  • CVE-2023-36793此安全性更新會在讀取損毀的 PDB 檔案時,解決 DiaSymReader.dll 中的弱點,這可能會導致遠端程式碼執行。
  • CVE-2023-36792此安全性更新會在讀取損毀的 PDB 檔案時,解決 DiaSymReader.dll 中的弱點,這可能會導致遠端程式碼執行。
  • CVE-2023-36759此安全性更新會移除 pgodriver.sys,其中讀取惡意檔案可能會導致提高權限。

17.4.10 Visual Studio 2022 17.4.10 版

2023 年 8 月 8 日發行

17.4.10 版中已解決的問題

  • 解決 VSWhere 的所有交換器不會傳回處於無法啟動狀態執行個體的問題。

已解決安全性諮詢

  • CVE-2023-35390當某些 dotnet 命令用於目錄中且權限較弱時,就會存在弱點,而這可能會導致遠端程式碼執行。
  • CVE-2023-38180Kestrel 中存在弱點,偵測潛在的惡意用戶端時,Kestrel 有時會無法中斷連線,導致拒絕服務。
  • CVE-2023-38178.NET Kestrel 中存在弱點,惡意用戶端可以在 ASP.NET 和 .NET 執行階段中略過 HTTP/3 中的 QUIC 串流限制,導致拒絕服務。
  • CVE-2023-35391ASP.NET Core 2.1、.NET 7.0 和 .NET 6.0 應用程式中存在弱點,使用 redis 後擋板時使用 SignalR 可能會導致資訊洩漏。
  • CVE-2023-36897 Visual Studio 2010 Tools for Office Runtime Spoofing Vulnerability 此安全性更新解決了未經驗證的遠端攻擊者可以在沒有有效程式碼簽署憑證的情況下簽署 VSTO 增益集部署的弱點。

17.4.9 Visual Studio 2022 17.4.9 版

2023 年 7 月 11 日發行

17.4.9 版中已解決的問題

已解決安全性諮詢


17.4.8 Visual Studio 2022 17.4.8 版

2023 年 7 月 13 日發行

17.4.8 版中已解決的問題

  • 已修正商店中使用的相鄰浮點數有時會捨棄其上層 32 位元的錯誤
  • 已修正 ASAN 初始化中導致啟動時損毀的競爭條件
  • 已修正在某些情況下 GlobalLock/Unlock 和 LocalLock/Unlock 的錯誤報告誤判為真,其中在 ASAN 初始化之前已配置記憶體
  • 已修正標示為 HEAP_REALLOC_IN_PLACE_ONLY 之堆積的 RtlReAllocateHeap ASAN 問題

已解決安全性諮詢



17.4.7 Visual Studio 2022 17.4.7 版

2023 年 4 月 11 日發行

17.4.7 版中已解決的問題

  • MSVC ASAN 會在 Rtl* 記憶體函式用來操作該記憶體時忽略對應的記憶體檔案
  • 已修正當不正確輸入傳送至核心模式驅動程式的 PGO 定型期間所使用的驅動程式時發生的當機
  • 已修正使用 ISO C++17 和 ISO C++20 的 MSVC 範本運算子解析

已解決安全性諮詢


17.4.6 Visual Studio 2022 17.4.6 版

2023 年 3 月 14 日發行

17.4.6 版中已解決的問題

  • 已修正有關大量執行緒同時存取相同堆積的 ASAN 效能迴歸。 此外,已將 windows_hook_legacy_allocators 選項預設值變更為 true。
  • 已修正複製/移動建構函式在未移除其預設引數初始化的情況下,遭到傳回變數最佳化省略的錯誤 (bug)。
  • 已修正靜態分析中的誤判為真 C6031 警告。
  • Git 2.39 已將 credential.helper 的值從「manager-core」重新命名為「manager」。 如需相關資訊,請參閱 https://aka.ms/gcm/rename
  • 將 mingit 和 Git for Windows 套件更新至 v2.39.2,其可解決 CVE-2023-22490

已解決安全性諮詢

開發人員社群的問題


17.4.5 Visual Studio 2022 17.4.5 版

2023 年 2 月 14 日發行

17.4.5 版中已解決的問題

  • 已修正在 STL 中會導致 std::string 複本在連結舊版 Visual Studio 2022 所產生物件與 Visual Studio 2022 17.4 版或更新版本所產生物件時,不會以 Null 終止的迴歸。
  • 已修正使用 VS 2015 建置之程式的 std::async() 中的二進位相容性中斷,這可能會導致 invalid_operation 例外狀況觸及 noexcept 函式而造成當機。
  • 已修正在 STL 中導致 std::findd 或 std::count 在未帶正負號整數元素範圍中搜尋負號整數值時失敗的迴歸。
  • 已修正在偵錯期間,傳回變數有時不會出現在 Visual Studio 的 [監看式] 或 [區域變數] 視窗中的錯誤 (bug)。
  • 單一程式碼區塊中的多個陳述式,其中包含對編譯器內建函式 '__builtin_offsetof' 的巢狀呼叫,可能會導致 C++ 編譯器當機。 若要避免當機,請取消巢狀 __builtin_offsetof 內部呼叫。
  • 偵錯 Windows Forms 建構函式時,會在 [區域變數] 和 [監看式] 視窗中顯示和評估區域變數。
  • 已修正無法辨識 @bind:get、@bind:set 和 @bind:after 屬性修飾元,導致設計階段錯誤的問題。
  • 已修正錯誤自動放置右大括弧之後在 ChangeSignatureCodeRefactoringProvider 中的例外狀況中呼叫變更特徵標記重構錯誤 (bug) 問題 #65298 dotnet/roslyn (github.com).
  • 已修正當未安裝任何工作負載且電腦未安裝 C++ 可轉散發套件時,終端機會造成當機的問題。
  • 解決開啟 XAML 檔案時 VS 可能會凍結的問題。
  • 已將 CPython 解譯器更新為 3.9.13 版。
  • 新增了 Xcode 14.2 支援。
  • 更新 .NET MAUI 至 7.0.59 (SR3),請參閱 https://aka.ms/dotnet-maui-releases 以取得版本資訊。
  • 將 mingit 和 Git for Windows 套件更新至 v2.39.1.1,其可解決 CVE-2022-41903

已解決安全性諮詢

17.4.4 Visual Studio 2022 17.4.4 版

2023 年 1 月 10 日發行

17.4.4 版中已解決的問題

  • 已停用 C# 來源檔案的文件大綱功能
  • 已解決在 Visual Studio 更新程序期間解除安裝 Cascadia Code 和 Cascadia Mono 字型的問題。

開發人員社群的問題

已解決安全性諮詢

  • CVE-2023-21538 .NET 拒絕服務弱點 .NET 6.0 中存在拒絕服務弱點,惡意用戶端可能會導致堆疊溢位,當攻擊者將不正確要求傳送至公開的端點時,可能會導致拒絕服務攻擊。

17.4.3 Visual Studio 2022 17.4.3 版

2022 年 12 月 13 日發行

17.4.3 版中已解決的問題

  • 已修正配置器中的錯誤 (bug),在相同編譯器引動中分析多個 C++ 編譯單位時,導致記憶體流失。
  • 已修正 thread_local 變數導致連結器發出「嚴重錯誤 LNK1161:不正確的匯出規格」錯誤的錯誤 (bug)。
  • 已修正配置器中的錯誤 (bug),在相同編譯器引動中分析多個 C++ 編譯單位時,導致記憶體流失。
  • 已修正在編輯 C#/VisualBasic 程式碼時導致金色列並且有訊息「診斷分析器執行器當機」的基礎例外狀況
  • 已改善附加錄製時,在開發人員社群提交意見反應票證的效能。
  • 新增適用於 Xamarin.iOS 和 Xamarin.Mac 的 Xcode 14.1 支援。
  • 新增適用於 iOS、tvOS、macOS、Mac Catalyst 之 .NET 的 Xcode 14.1 支援。
  • 更新 .NET MAUI 至 7.0.52 (SR1.1),請參閱 https://aka.ms/dotnet-maui-releases 以取得版本資訊。
  • 修正失敗時會將 UWP 應用程式部署到尚未與 Visual Studio 執行所在電腦配對的裝置。
  • VS arm64 的 wasm 工具體驗將會在 VS 17.4.3 中啟用。 適用於 .NET WebAssembly Build Tools.NET 6.0 WebAssembly Build Tools。 這可讓 blazor wasm 使用 AOT 編譯發佈

開發人員社群的問題

已解決安全性諮詢

  • CVE-2022-41089 遠端程式碼執行 .NET Core 3.1、.NET 6.0 和 .NET 7.0 中有遠端程式碼執行弱點,惡意執行者可能會因為剖析惡意製作的 xps 檔案而執行任意程式碼。

17.4.2 Visual Studio 2022 17.4.2 版

2022 年 11 月 29 日發行

17.4.2 版中已解決的問題

  • 已修正使用 /analyze 導致 C++ 編譯器當機的問題。
  • 已修正編譯器錯誤 (bug),錯誤地省略零延伸模組
  • 已修正 Visual Studio 工作階段之間未正確保存某些 C++ 格式化選項的問題。
  • 已修正貼上時停止回應的問題
  • 此版本的 Visual Studio 包含 Win App SDK 1.2.221109.1,如需詳細資訊,請參閱 Windows App SDK 發行通道 - Windows 應用程式 | Microsoft Docs

開發人員社群的問題


17.4.1 Visual Studio 2022 17.4.1 版

2022 年 11 月 15 日發行

17.4.1 版中已解決的問題

  • 在 vs 安裝程式中搜尋 arm64ec 或 ec,現在會顯示包含 arm64ec 支援的相關 arm64 元件。
  • 在 Visual Studio 2022 17.3 版和更新版本中,使用 GPU 定型影像分類模型時,ML.NET Model Builder 會停止回應。 此死結已解決,且影像分類可以使用 CPU 或 GPU 成功定型。
  • 現在,搭配整合式終端機使用螢幕助讀程式可正確提供執行命令及其輸出的相關資訊。
  • 開啟 .NET 7 Linux 核心傾印時,Visual Studio 不會當機。

開發人員社群的問題


Visual Studio 2022 17.4 版發行版本的新功能摘要

Arm64
此預覽版會繼續在 Windows 11 上建置原生 Arm64 支援。 除了支援 .NET 桌面開發 (WinForms 和 WPF)、使用 C++ 的桌面開發 (適用於 MSBuild 型專案) 和 ASP.NET 與 Web 開發之外,我們現在也啟用了通用 Windows 平台開發工作負載。 若要深入了解,請參閱我們的部落格文章

C++

  • 已改善編譯器錯誤訊息,以提供更正確且有用的資訊,尤其是概念。
  • 已新增實驗性 MSVC 旗標 /experimental:log<directory>,將 SARIF 組建記錄檔輸出至指定的目錄。
  • 已將 C23 屬性的支援新增至 IntelliSense,並在 C++20 模組支援中持續進行。
  • 已改善開啟新解決方案時的編製索引效能。 從 17.3 起大型專案可能會改善 20-35%。
  • 已透過下列方式改善具名傳回值最佳化 (NRVO):
    • 針對涉及例外狀況處理或迴圈的案例啟用 NRVO。
    • 啟用 NRVO,即使是在 /Od 下,如果使用者通過 /Zc:nrvo 旗標或 /std:c++20 或更新版本或 /permissive-
    • 允許使用者使用 /Zc:nrvo- 旗標停用 NRVO。
  • Visual Studio 隨附的 CMake 版本已升級為 15.0.1。 請參閱 LLVMClang 版本資訊,以了解可用功能。
  • 已使用 CMake 專案新增對 Visual Studio for vcpkg 成品的支援。 對於包含 vcpkg 資訊清單的專案,環境會在專案開啟時自動啟動。 您可以在 Visual Studio 中的 vcpkg 環境啟用部落格文章中深入了解此功能。
  • 您現在可以針對 C++ 專案使用開發容器。 您可以在適用於 C++ 的開發容器部落格文章中深入了解此功能。
  • 當 IntelliSense 是 PCH 時,遵守預先包含標頭的順序。 先前,透過 /Yu 使用 PCH 並透過 /FI 強制包含時,IntelliSense 一律會先處理,然後再處理透過 /FI 包含的任何其他標頭。 這與建置行為不符,因此會依照指定的順序處理此變更 /FI 標頭。
  • 已從測試總管的 CTest 名稱中移除內部前置詞。
  • 已將隨附於 Visual Studio 的 CMake 版本更新到 3.24.1 版。 請參閱 CMake 版本資訊,以了解可用功能。
  • Android SDK 更新
    • 已移除 Ant 指令碼,因此使用者在 [新增專案] 對話方塊中再也不會看到以 Ant 為基礎的範本。 如需從 Ant 範本移轉至 Gradle 範本的說明,請參閱:從 Apache Ant 移轉組建 (gradle.org)
    • 已使用 NDK 23 和 24 新增對建置的支援
    • 已將 NDK 元件更新為 LTS 第 23 版
  • 已新增 ranges::min_element()ranges::max_element()ranges::minmax_element() 的向量化實作
  • 我們會繼續追蹤 C++ 標準化的最新開發,您可以在編譯器選項中包含 /std:c++latest,以取得下列 C++ 23 功能的支援
    • P2302 ranges::containsranges::contains_subrange
    • P2499 string_view 範圍建構函式應該是 explicit
    • P0849R8auto(x)decay-copy 用於語言
    • 尚未實作編譯器組件;一開始實作「範圍」時,程式庫組件是以 C++20 模式實作。
    • P0881R7 <stacktrace>
    • P2301R1std::stacktrace 新增 pmr 別名
    • P1328R1 constexpr type_info::operator==()
    • P2440R1 ranges::iotaranges::shift_leftranges::shift_right
    • P2441R2 views::join_with
  • 已新增 [建立宣告/定義之後瀏覽] 選項,讓您選擇 [建立宣告/定義] 功能的瀏覽行為。 您可以在瞄核 (預設值) 或開啟文件或沒有瀏覽之間選取。
  • Visual Studio 的 Arm64 組建現在會組合 Arm64 版本的 CMake 和 Ninja。
  • 已新增 CMake 預設第 4 版的支援。 請參閱 CMake 版本資訊,以了解可用功能的詳細資料。
  • 使用連線管理員連線遠端系統,現在支援 SSH ProxyJump,可用來透過另一部 SSH 主機存取 SSH 主機 (例如,存取防火牆後方的主機)。

開發人員社群重點

偵錯與診斷

  • DataTable 視覺化檢視現在已使用新改進升級,包括篩選、排序、匯出與主題設定等新功能。
  • 若要以 CSV/Excel 格式匯出資料,請使用右上角的下拉式清單。
  • 視覺化檢視也可讓您篩選以資料為基礎的所需篩選字串。 會傳回包含符合篩選字串之值的所有資料列。 您也可以匯出 CSV/Excel 格式的篩選和排序結果。
  • 視覺化檢視視窗會根據您選取的 Visual Studio 主題來設定主題。

編輯器功能

  • Visual Studio 現已提供音訊提示。 若要啟用音訊提示,請移至 [工具] > [選項],然後前往 [文字編輯器] > [一般]。 在 [設定] 區段中,勾選 [啟用音訊提示] 選項以啟用音訊提示。勾選此選項後,當編輯器中的插入號到達具有錯誤、中斷點或警告的行時,Visual Studio 會播放音訊提示。 當該行到達已在差異檢視中檢視檔案時新增或移除的行時,也會播放提示。 這些提示可以在 Windows 中的 [設定] 控制台中個別啟用或修改。
  • 在編輯器上轉動滑鼠滾輪時按住 Shift 鍵,現在會導致編輯器水準捲動。 編輯器捲動量可以在 [文字編輯器] > [進階] 下的 [工具] > [選項] 中設定。
  • 編輯器中的目前行號會醒目提示,以取得較高的可見度。
  • [輸出] 窗格現在有一個按鈕,將在每行前面加上時間戳記,讓開發人員更容易查看在長時間執行程序中的步驟之間經過多少時間。
  • 我們已修正在某些情況下,防止印表機設定正確儲存的問題。
  • 在編輯器中選取文字時,Visual Studio 現在會自動醒目提示相符字串。 若要啟用此功能,請移至 [工具] > [選項],然後前往 [文字編輯器] > [一般]。 在 [顯示] 區段中,勾選 [顯示選取範圍相符項目] 選項。 勾選此選項後,每當選取 100 個字元以下的單行文字時,都會立即醒目提示任何相符項目。

F#

本機函式引數的工具提示

Git 工具

開發人員社群重點

其他功能

  • 多重存放庫支援表示您一次最多可以有 10 個使用中 Git 存放庫,讓您能夠使用跨多個存放庫的解決方案,並執行 Git 作業,例如同時提交、提取和推送到數個存放庫。 透過在數個存放庫之間開啟具有專案的解決方案或資料夾,開始使用多重存放庫支援。 請閱讀我們的部落格文章,以深入了解並分享您的意見反應
  • 取消追蹤並忽略追蹤的 Git 檔案
  • 符合最近的 Git 安全性更新,我們已藉由改善存放庫狀態並使用新的信任對話方塊,增強信任單一和多個 Git 存放庫的使用者體驗。

整合與更新

復原

Visual Studio 現在支援返回您先前安裝版本的功能。 如需詳細資訊,請造訪復原部落格文章

移除不受支援的元件

Visual Studio 2022 17.4 版安裝程式包含一項新功能,可讓您輕鬆地大量移除 Visual Studio 已安裝並且已轉換為不支援狀態的所有元件。 這可協助您維護安全且符合規範的環境。 開發人員可以在更新或修改時起始此動作,而 IT 管理員可以依原則強制執行。 對於使用配置的企業,可以設定配置一次,然後未來的系統管理員更新將會遵守此設定。 如果這些用戶端電腦已更新為使用最新的 Visual Studio 安裝程式,這項功能也適用於 Visual Studio 2017 和 2019。 如需此功能運作方式的其他詳細資料,請參閱 Visual Studio 系統管理員指南,或參閱部落格文章

透過系統管理員範本設定原則 (ADMX)

今天我們發行了 Visual Studio 系統管理範本檔案 (ADMX/ADML),讓 IT 系統管理員可以輕鬆地探索、管理及控制可由原則控管的 Visual Studio 行為。 ADMX 檔案也很容易與常見的管理和部署工具整合,例如群組原則編輯器或 Microsoft 端點管理員。 請在這裡尋找其他資訊

Visual Studio 安全性更新現在可透過商務用 Windows Update 的 Microsoft Update 通道取得

所有支援的 Visual Studio 版本的所有 Visual Studio 安全性更新,現在都可供使用商務用 Windows Update 的新式雲端連線 Azure Active Directory (Azure AD) 裝置使用,並由行動裝置管理解決方案管理,例如 Microsoft 端點管理員 (先前稱為 Intune)。 您可以藉由將 AdministratorUpdatesEnabled 原則設定為 2,在您的用戶端裝置上啟用此功能。 如需詳細資訊,請參閱部落格文章Visual Studio 系統管理員指南

IntelliCode

當 IntelliCode 提供修改或刪除單行程式碼一部分的建議時,建議現在會在 C# 使用者的編輯器介面上顯示為「差異檢視」。 藉由使用 TAB 鍵,使用者可以接受預測。

Microsoft Teams 開發工具 (Teams 工具組)

  • 有了這個新版本的 Teams 工具組,Azure Active Directory 範本檔案、projectSettings.json 和應用程式資訊清單檔都需要更新。 這些更新會在執行 Teams 工具組功能表命令之後自動完成,而且不會變更您的專案原始程式碼。 輸出視窗會顯示更新的狀態。
  • Microsoft Teams 應用程式專案範本精靈中的 Tab 應用程式類型包含設定單一登入與否的選項。 稍後使用 [專案] > [Teams 工具組] > [新增驗證代碼] 加以新增。 在文件中深入了解 Teams 工具組:https://aka.ms/teams-toolkit-vs-docs

.NET 生產力

  • 有新的內嵌重新命名 UI 可讓您重新命名類型。 按 Ctrl+R,R 以顯示新的內嵌重新命名體驗。 請注意,新的 UI 現在會顯示在類型底下,並提供重新命名註解、字串與符號檔的選項。

內嵌重新命名

  • 現在有選項可停用 [來源連結] 和 [內嵌來源]。 您可以在 [工具] > [選項] > [文字編輯器] > [C#] > [進階] 中停用此功能,並取消選取 [啟用來源連結和內嵌來源的瀏覽]。

停用來源連結和內嵌來源

DataTable 視覺化檢視

  • 您現在可以輕鬆地在 [文件大綱] 視窗中檢視檔案結構概覽。 [文件大綱] 視窗會在編輯器中顯示檔案的符號樹狀結構,協助您快速地瀏覽及編輯專案檔。 您可以移至 [檢視] > [其他視窗] > [文件大綱] 或使用快速鍵 Ctrl+Alt+T 來開啟 [文件大綱]。

文件大綱

測試工具

  • Live Unit Testing 現在提供按鈕來重設所有狀態。 移至 [測試] > [Live Unit Testing] > [重設解決方案的 Live Unit Testing 狀態]。
  • Live Unit Testing 現在支援 Razor 檔案。
  • 執行測試直到失敗為止,可協助您找到不穩定的測試,並執行單元測試,直到它們達到失敗或到達到 [選項] 中設定的閾值為止。
  • 使用新的程式碼涵蓋範圍變更集報告,檢視範圍縮小到僅限您變更的檔案/行的程式碼涵蓋範圍報告。

效能改善

在此版本中,我們已在 Visual Studio 的下列區域中改善效能:

  • 檔案中尋找/取代
  • Git 分支切換
  • 單元測試效能
  • 語言服務組態切換最佳化
  • 回應式檔案儲存
  • C++ 編製索引

深入了解本版本中的所有效能改善


開發箱上的 Visual Studio

  • 由於開發箱不在您的區域網路上,您必須使用公用 IP 透過網際網路連線到區域網路上的任何 Mac。
  • 如果 Android 模擬器不會載入,請移至 [Windows 功能] 對話方塊,確定 Hyper-V 已啟用。 如果未選取 [Hyper-V] 核取方塊,請加以啟用,然後在嘗試使用模擬器之前重新啟動開發箱。

開發人員社群的問題


已知問題

.NETSDK: .NET SDK 在升級到 17.4 之後沒有任何專案載入 [7.0] 如果已安裝 .NET 7 預覽 SDK 工作負載,則使用特定工作負載的專案不會載入、建置或執行:如果已安裝預覽 .NET 7 SDK,具有例如 microsoft.net.workload.mono.toolchain 的工作負載相依性的專案可能無法建置、載入或執行。 此處將說明此問題的範例。

解決方法:解決問題的最佳方法是解除安裝任何 .NET 7 預覽 SDK。 如需詳細指示,請參閱 dotnet 解除安裝指示。 例如,在 Windows 上,您可以使用新增/移除程式來解除安裝 dotnet 預覽 SDK。 另一個選項是嘗試刪除資料夾 C:\Program Files\dotnet\sdk-manifests\microsoft.net.workload.mono.toolchain,但是這只適用於檔案型安裝。 Dotnet-core-uninstall 是解除安裝 .NET 7 預覽 SDK 的另一個選項。

Python 和原生混合模式偵錯:使用虛擬環境時,Python 和原生混合模式偵錯有已知錯誤 (bug)。 由於事實上適用於 Windows 的 Python 會針對 venvs 使用虛設常式 python.exe,所以 Visual Studio 會尋找 python.exe 並以子流程形式載入。 若為 Python 3.8 及更新版本:啟動偵錯工作階段時,因為混合模式不支援多程序偵錯,所以最終只會偵錯該虛設常式程序,而不是實際的應用程式。 在連結案例中,因應措施是連結至正確的 python.exe。 對於 launch/F5,沒有因應措施,不幸的是 - 您必須避免 venvs。 若為 3.8 之前的 Python 版本,混合模式偵錯應該如預期般搭配 venvs 運作。 在全域環境中執行不會對任何版本的 Python 造成這些問題。 如需詳細資訊,請參閱無法對 Python 和 Native 進行偵錯

探索/執行 Nunit 測試:從 [測試總管] 探索/執行 Nunit 測試會在 17.4 上失敗,在 [輸出] 窗格中出現「未知架構 7.0 版」例外狀況

解決方法:如果您有 Nunit3TestAdapter 的參考,請確定更新為 4.3.1 或更高版本。

NuGet 套件Visual Studio 17.4 不會在發佈類別庫專案時產生 NuGet 套件。

解決方法 這是 17.4 中的刻意變更,可讓 Visual Studio 中的發佈行為在所有 .NET 專案類型之間都保持一致。 若要為類別庫專案產生 NuGet 套件,建議的方法是:

  1. 將專案屬性設定為在組建上產生 NuGet 套件,如此處所述或
  2. 按一下滑鼠右鍵 -> 套件來執行可用的套件命令,如此處所述:使用這項新的變更,發佈命令會產生類別庫的發佈輸出,類似於所有其他 .NET 專案類型的行為。 如需詳細資訊,請參閱此文件頁面。 您也可以使用各種套件 msbuild 屬性來變更套件行為,如此處所述

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


.NET 7 現已推出

.NET 7 讓您的應用程式提升效能及使用 C# 11/F# 7、.NET MAUI、ASP.NET Core/Blazor、Web API、WinForms、WPF 等項目的新功能。 使用 .NET 7,您也可以輕鬆地將 .NET 7 專案容器化、在 GitHub 動作中設定 CI/CD 工作流程,以及達成雲端原生可檢視性。

意見反應與建議

我們很希望聽聽您的意見! 您可以回報問題或建議功能意見反應圖示,方法是使用安裝程式或 Visual Studio IDE 右上角的 [傳送意見反應] 圖示,或從 [說明] > [傳送意見反應]。 您可以使用 Visual Studio 開發人員社群來追蹤您的問題,您可以在其中新增留言或尋找解決方案。 您也可以透過我們的即時聊天支援取得免費的安裝協助。


部落格

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


頁首