Visual Studio 2022 17.5 版的版本資訊
提示
觀看 Visual Studio 2022 上市活動的錄製內容以了解新功能、聆聽提示及技巧,以及下載免費的數位 Swag。
開發人員社群 | Visual Studio 2022 藍圖 | 系統需求 | 相容性 | 可散發程式碼 | 版本歷程記錄 | 授權條款 | 部落格 | 最新版已知問題 | Visual Studio Docs 的新功能
按一下按鈕以下載最新版的 Visual Studio 2022。 如需安裝和更新 Visual Studio 2022 的指示,請參閱將 Visual Studio 2022 更新至最新版本。 此外,請參閱如何離線安裝上的指示。
若要下載其他 Visual Studio 2022 產品,請造訪 Visual Studio 網站。
Visual Studio 2022 17.5 版
- 2023 年 4 月 11 日 — Visual Studio 2022 17.5.4 版
- 2023 年 3 月 21 日 — Visual Studio 2022 17.5.3 版
- 2023 年 3 月 14 日 — Visual Studio 2022 17.5.2 版
- 2023 年 2 月 28 日 — Visual Studio 2022 17.5.1 版
- 2023 年 2 月 21 日 — Visual Studio 2022 17.5.0 版
Visual Studio 2022 部落格
Visual Studio 2022 部落格是由 Visual Studio 工程小組發行的官方產品見解。 您可以在下列文章中找到有關 Visual Studio 2022 版本的深入資訊:
我們已在此版本中處理一些通報率最高的錯誤 (bug),並根據您在開發人員社群中提出的建議新增功能。 感謝您的持續提供意見反應。 以下是我們隨附在此預覽版中的建議清單。
開發人員社群建議:您問,我們聽!
- 使用 Regex 指定彩色索引標籤的色彩配置 63 票
- 我希望 Visual Studio 具有用於註釋和含建議的程式碼的拼字檢查工具。 34 票
- 允許 --layout 選項與 --config 選項一起使用 23 票
- 新增原生 Markdown 支援 10 票
- 改進 __builtin_FUNCTION 內建函式的輸出 (與 std::source_location 相關) 3 票
查看作為 17.5 的一部分提供的所有開發人員社群建議的清單
Visual Studio 2022 17.5.4 版
2023 年 4 月 11 日發行
此 17.5.4 版中已解決的問題
- 這項變更修正了當不正確輸入傳送至核心模式驅動程式的 PGO 定型期間所使用的驅動程式時所發生的當機。
- 已修正使用 ISO C++17 和 ISO C++20 的 MSVC 範本運算子解析
- MSVC ASAN 會在 Rtl* 記憶體函式用來操作該記憶體時忽略對應的記憶體檔案。
- 將 .NET MAUI 更新為 7.0.81 (SR4),請參閱 https://aka.ms/dotnet-maui-releases 來取得版本資訊。
- 將 .NET iOS 更新為 16.2.127.0,請參閱版本資訊。
- 將 .NET Android 更新為 33.0.46.0
- 解決了組態 API 中可能導致雙重釋放漏洞的問題。
- VSIXInstaller 已更新以防止信任警告隱藏在 UI 中。
已解決安全性諮詢
- CVE-2023-28260 .NET 遠端程式碼執行弱點 在 Windows 上執行的 .NET 中存在弱點,其中執行階段 DLL 可以從非預期的位置載入,導致遠端程式碼執行。
- CVE-2023-28296 Visual Studio 遠端程式碼執行弱點
- CVE-2023-28299 Visual Studio 詐騙弱點
- CVE-2023-28262 Visual Studio 權限弱點提高
- CVE-2023-28263 Visual Studio 資訊洩漏弱點
開發人員社群重點
- 使用 Entity Framework 更新精靈時,VS2022 17.5 不再允許使用 app.config 中的連接字串
- iisexpress 在 ntdll.dll 中當機
- [顯示精簡檢視] 按鈕在 (舊的) [新增物件] 對話方塊中遺漏
- 從 17.1 版升級至 17.4 版之後,專屬 Visual Studio 擴充功能會強制顯示 [另存新檔] 對話方塊
- 所有重構功能都顯示找不到參考
Visual Studio 2022 17.5.3 版
2023 年 3 月 21 日發行
此 17.5.3 版中已解決的問題
- 移除了 ASP.NET Web 工作負載的整合式 Edge 開發人員工具
- 已修正有關大量執行緒同時存取相同堆積的 ASAN 效能迴歸。 此外,已將 windows_hook_legacy_allocators 選項預設值變更為 true。
- MSVC C++ 工具組已更新為 14.35.32216.01
- 編輯 Razor 檔案時,新增一些計算編輯建構的快取以提高效能。
- 修正了當 Text 屬性包含多行 (在 InitializeComponent 中產生程式碼時以 vbCrLf 分隔) 時,VB-WinForms 專案中的多行文字方塊會被刪除的錯誤。
- 修正了 [WinForms 跨處理序設計工具] 中非常大的表單 (Form) 或使用者控制項 (UserControl) 需要很長時間才能儲存的錯誤。 請注意,在某些情況下,具有 > 3,000 行程式碼的表單 (Form) 或使用者控制項 (UserControl) 將以不同的格式處理,或不會對命名空間或 "this" (在 Visual Basic 中為 "Me") 進行縮減。 考慮將非常大的表單的組件重構為專用的使用者控制項,並在更大的表單中使用這些使用者控制項以提高效能並簡化維護。
- 修正了以下錯誤:InitializeComponent 內的 VB-Tick-Comments 現在會正確換行為個別的行 (當前一行以引號或雙引號字元結尾時)。
- 修正了以下錯誤:在 Visual Basic 中重新命名程式碼後置設計工具檔的 WithEvents 定義的 [控制項] 欄位不再導致多重定義/處理的事件。
開發人員社群重點
- Visual Studio 中不再包含 Edge 開發人員工具
- 在自訂例外狀況的建構函式參數上使用 fmtlib,並直接擲回例外狀況會導致 MSVC 17.10 中的損毀
- C1001:從可變參數範本編譯 std::format 呼叫時發生內部編譯器錯誤。
- AnyCode 透過在 UI 執行緒上同步執行關閉工作區而導致死結
- Visual Studio 17.4 C++ 錯誤 codegen 與 NRVO
- 在 WSL 上使用 CMake 時,無法個別建置目標
- IntelliSense 報告了許多關於 Boost 程式庫的錯誤
- MSVC 17.4.2 'msc1.cpp' 中的編譯器損毀 (第 1592 行)
- 使用具有 ushort 屬性的使用者控制項時 Visual Studio WinForms 設計工具中的錯誤
- 在 IDE 中變更表單物件之後,表單事件會在編譯和執行時遺失
- 當我儲存 winform 時,會顯示「應該有兩個或更多的類別組件」
- 當 Sqlproj 檔案具有 VS 內建 master.dacpac 檔案所提供的某些主資料庫參考時,不會建置 Sqlproj 檔案
- Visual Studio 17.5 中斷了 SqlPackage.exe
- 無法執行依賴於解決方案順序的 Cloud Services Extended Support 專案
- [新增專案] 和 [新增檔案] 都不會顯示任何範本。 對於後者,它會在顯示載入範本時卡住。 17.5.0 的全新安裝
Visual Studio 2022 17.5.2 版
2023 年 3 月 14 日發行
此 17.5.2 版中已解決的問題
- 修正了標籤協助程式查閱中的 Razor 編譯器最佳化錯誤 (該錯誤在許多情況下會中斷 ViewComponent 標籤協助程式)。
- 這會將
@bind:after
支援新增至 17.5 版。 這原本是在 17.4 中新增,但未正確移植到 17.5 程式碼庫中。 - 在多合一式搜尋體驗中,預覽面板對於所有結果都會是唯讀的。 感謝您在我們努力解決預覽編輯體驗的細節問題並進行修復時的耐心等待。
- 將 mingit 和 Git for Windows 套件更新至 v2.39.2,其可解決 CVE-2023-22490
- 移除了 ASP.NET Web 工作負載的整合式 Edge 開發人員工具
已解決安全性諮詢
- CVE-2023-22490 Mingit 遠端程式碼執行弱點
- CVE-2023-22743 Git for Windows Installer 權限弱點提高
- CVE-2023-23618 Git for Windows 遠端程式碼執行弱點
- CVE-2023-23946 Mingit 遠端程式碼執行弱點
開發人員社群重點
- [測試總管] (SpecFlow 測試):移至功能類別檔案,而非功能檔案
- 按兩下錯誤清單中的訊息時,Visual Studio 會終止
- 自 v.17.5.0 預覽版 3 起無法使用 Docker
- 使用拼字檢查程式會導致 Visual Studio 損毀 (經常)
- Visual Studio 中不再包含 Edge 開發人員工具
Visual Studio 2022 17.5.1 版
2023 年 2 月 28 日發行
此 17.5.1 版中已解決的問題
- 指定解決方案組建的輸出路徑時在 .NET CLI 中出現的「錯誤」已降級為「警告」。 解決方案層級
--output
選項不再對建置相關命令有效
開發人員社群重點
- VCFileCodeModel.EndPoint 屬性不會在 VS2022 中傳回正確的結果
- 自升級至 17.5 後專案無法建置 (因為 'CommandLineArgsForDesignTimeEvaluation' 是必需處理的問題)
Visual Studio 2022 17.5 版
2023 年 2 月 21 日發行
開發人員社群重點
- 重新啟動後無法記住批次組建中的選取項目 29 票
std::move
(和類似的函式) 導致偵錯效能不佳和偵錯體驗更差 - 29 票- 允許 --layout 選項與 --config 選項一起使用 24 票
- 選取「在執行單元測試之前自動部署資料庫專案」選項之後,發生建置錯誤 19 票
- C/C++ 中的 [左大括號] 設定的位置會不斷自動變更 - 13 票
- 熱重新載入 CSS 不適用於託管的 Blazor WebAssembly 13 票
- Git - 無法啟動已設定的比較工具 12 票
- Visual Studio 會在呼叫 OnBeforeSave 之前清除變更過的旗標 11 票
- [方案總管] 項目會自行摺疊 - 11 票
- JSON 結構描述被寫入方案資料夾 10 票
- 重命名測試方法時,單元測試啟動失敗並出現例外狀況 10 票
- IIF 作為條件時 - SQL46010:附近的語法不正確 9 票
- C++20 字串常值運算子範本無法被 Intellisense 辨識 - 8 票
- 最新 VS 預覽版中的 Html 屬性顏色被破壞 7 票
- 用於 C++ 的 Visual Assist 的 [在檔案中尋找] 為在「整個解決方案」或「目前專案」中的搜尋提供部分結果 7 票
- MFC 對話方塊的大小會被對話方塊編輯器調整 - 6 票
- Intellisense 無法在模組標頭中運作 - 6 票
- Visual Studio 2022 會在外部修改所造成的重新載入之後,以無訊息方式損毀 utf-8 原始程式碼和內容檔案 6 票
- CMake + Ninja 無法剖析包含路徑的輸出 (/showIncludes) - 5 票
- 靜態分析中的誤判為真 c6031 警告 - 5 票
- Visual Studio 凍結,且必須在 [工作管理員] 中終止 5 票
- MSVC 盡可能不使用 bswap - 5 票
- 解決方案尚未完成剖析;瀏覽結果可能不準確 4 票
- C++ Intellisense 會在使用特定的範本參數時永遠停止回應 - 1 票
- 版本 17.5.0 預覽版 2.0 熱重新載入不適用於 Xamarin.forms - 1 票
- Xamarin Profiler 模擬器問題
此 Visual Studio 2022 17.5 版的新功能摘要
整合式終端中的 ASP.NET 輸出
- 在 Visual Studio 中啟動的 ASP.NET Core 應用程式現在會將輸出重新導向至整合式中端工具視窗,而非外部主控台視窗。
無需 Dockerfile 便可建置容器映像
- 有了 .NET 7 後,現在只需使用 .NET SDK 便可建置及發佈容器映像。 您無需使用 Dockerfile,並可將任何所需的 .NET 執行階段 (包含先前的版本) 設為目標。
利用規則運算式為索引標籤上色
- 根據您定義的路徑比對規則,以視覺化方式區分不同的檔案。
C++
std::move
、std::forward
、std::move_if_noexcept
和std::forward_like
現在不會在產生的程式碼中產生函式呼叫 (即使在偵錯模式中也是如此)。 這是為了避免具名轉換造成偵錯組建中不必要的額外負荷。/permissive-
或隱含它的旗標 (例如/std:c++20
或std:c++latest
) 是必要的。- 已新增
[[msvc::intrinsic]]
以支援上述項目。 這可以套用至由單一轉換組成的非遞迴函式 (其僅採用一個參數)。 - 已在整合式終端中新增了對 Linux 主控台的支援 (允許進行終端 I/O)。
- 已新增對 C11 不可部分完成基本型別 (
<stdatomic.h>
) 的初始實驗性支援。 此實驗性功能可以在/std:c11
模式或更新版本中使用/experimental:c11atomics
旗標來啟用。 - 已將一組實驗性高信賴檢查新增至「存留期檢查程式」,以減少干擾。
- 已啟用一項新的預覽功能 ([遠端檔案總管]),以在 VS 中檢視遠端電腦上的檔案目錄,以及對它進行上傳和下載檔案。
- 已變更 Visual Studio 隨附的 CMake 可執行檔版本設定,以符合 Kitware 版本。
- 已將熱重新載入的支援新增至 CMake 專案範本中。
- C++ 中的 [移至定義] 功能現在使用需要更多時間的更細妙的作業指標,取代了舊版的強制回應對話方塊。
- 已開始推出一項實驗,可在 C++ 自動完成和成員清單中提供額外的智慧結果。 這項功能先前稱為預測性 IntelliSense,但現在使用新的呈現方法。
- 現在,我們隨 LLVM 工作負載一起提供了原生 Arm64 Clang 工具組,以允許在 Arm64 機器上進行原生編譯。
- 已將當地語系化新增至影像監看擴充功能 (注意:此擴充功能可在 Marketplace 中取得,且不會透過 Visual Studio 安裝程式組合在一起提供)。
- 已新增在目前執行中的開發人員容器中開啟終端機視窗的支援。
- 已對 IntelliSense 巨集擴充內容進行了數項改進。 值得注意的是,我們在更多情境中啟用了遞迴擴充內容,並將選項新增至快顯視窗中,以將擴充內容複製到剪貼簿或在行內展開巨集。
- 「序列監視器」現在支援並行監視。 並行監視可讓您同時監視多個埠 (並排)! 只要按加號按鈕,即可開啟另一個「序列監視器」並開始使用。
- 現在,您可以在不離開 Visual Studio 的情況下檢視在 Unreal Blueprint 資產中所修改的基類屬性。 在 Visual Studio 中,按兩下 Blueprint 中的 C++ 類別或屬性參考,以開啟 UE Asset Inspector。
- 已允許在遠端 Linux 電腦上執行 DevContainers。
- 已允許在 [CMake 目標] 檢視中選取要建置的多個目標。
- 已新增對 CMakePresets.json 第 5 版的支援。 如需新功能的資訊,請參閱 CMake 文件。
- 已啟用 [測試總管],以便以平行方式建置及測試多個 CMake 目標。
- 已將 [在終端機中開啟容器] 選項新增至 [開發容器]。
- 已實作標準程式庫功能:
這些記錄曾指出,可以在此版本中使用大括弧配對著色。 不幸的是,這已延遲到 17.6。 您可以立即下載 17.6 Preview 1 來試用。
程式碼搜尋和瀏覽
- 「多合一式搜尋」在一個 UI 中結合了程式碼 (Ctrl+T) 和 IDE 功能 (Ctrl+Q) 搜尋功能。
- 程式碼搜尋 (Ctrl+T) 可快速導覽至解決方案中的檔案、類型和成員。
- 功能搜尋 (Ctrl+Q) 可讓您輕鬆存取 Visual Studio 中提供的各種工具、選項、範本和元件。
- 在 [程式碼搜尋] 索引標籤中,「預覽面板」可讓您查看選定結果的周圍內容,而不需要開啟它。 您甚至可以直接在搜尋視窗中調整程式碼。
- 在這裡了解更多關於多合一式搜尋的資訊。
- 我們正計畫逐步開啟這項新的搜尋體驗。 您可以手動啟用/停用這項體驗:[工具] > [管理預覽功能] > [新的 Visual Studio 搜尋體驗 (需要重新啟動)]。
偵錯和診斷
- [文字視覺化檢視] 支援使用其他工具和字串操作選項 (例如 URL 編碼和解碼、Base64 編碼和解碼、JWT 解碼等)。
- [文字視覺化檢視] 和 [快速監看] 視窗現在為深色、藍色和淺色 VS 佈景主題提供完整的佈景主題支援。
- [平行] 和 [呼叫堆疊] 視窗會有指標圖示,以引起對死結執行緒或封鎖執行緒等重要情境的注意。
- [受控記憶體] 視窗現在會顯示名為「重複字串」的快照/傾印的新自動深入解析。
- [受控記憶體] 視窗中的新索引標籤 [深入解析] 會顯示在堆積上多次配置的字串清單。 連同浪費的記憶體總量,即實例數減去字串大小的一倍。
- 您也可以按一下 [檢視實例] 按鈕 (顯示與 [記憶體] 視窗類似的實例檢視) 來移至實例。 它也會顯示字串物件的保留圖。
效能增強功能
大型解決方案的解決方案載入速度更快: Visual Studio 新增了一個名為「建置加速」的新功能,可提高累加建置效能。 「建置加速」會指示 Visual Studio 只建置已修改的專案,同時略過未變更的專案。
對於 SDK 樣式的 .NET 專案,啟用「建置加速」可以將累加建置時間減少高達 80%。 如需啟用/停用「建置加速」的進一步詳細資料和指示,請造訪下列連結:https://aka.ms/vs-build-acceleration外部來源反編譯: 在 17.5 中反編譯大型 .NET 模組的速度提高了 10 倍,讓偵錯和疑難排解問題更有效率。
- 執行緒視窗: [執行緒] 視窗的回應時間比在 17.4 快 2 倍,而且可以透過大量執行緒有效地擴大。
- 程式碼涵蓋範圍: 新增了新的靜態檢測選項,與動態檢測相比,效能更快。
快速新增檔案
- 無需搜尋範本,即可為專案新增檔案。
Markdown
- Visual Studio 現支援編輯 Markdown (.md) 檔案。
- 開啟副檔名為 .md 的任何檔案以開始使用。
- 使用編輯器視窗左上角的 [預覽] 按鈕,預覽已處理的 HTML。 Shift+F7 也可以用來開啟預覽。 使用 Ctrl +Alt + 向上鍵,將鍵盤焦點移至 [預覽] 按鈕,並按空格鍵切換預覽。
- 在某些情況下,可能不會自動啟用新的 Markdown 編輯器。 如果您無法開啟 .md 檔案、找不到 [預覽] 按鈕,或在編輯器中看不到裝飾,請檢查 [工具\選項] 的 [預覽功能] 頁面中的 [Markdown 語言服務] 預覽功能是否已啟用。
- 請注意,如果您現在使用擴充功能來編輯 Markdown 檔案,您可能需要在 .md 檔案上開啟捷徑功能表並明確地選擇 [開啟方式...],然後選取您慣用的選項。
SQL Server 2022
- 使用針對 SQL Server 2022 所推出的新 T-SQL 語法
拼字檢查程式
- Visual Studio 現在可以對 C++、C# 和 Markdown 檔案進行拼字檢查。 此功能現在處於預覽階段,可透過勾選預覽功能中的 [文字拼字檢查程式] 選項來啟用。 此功能也可以從 [編輯\進階] 下的 [切換文字拼字檢查程式] 命令或從主工具列中的按鈕來切換。 對於 C++ 拼字檢查,也必須檢查「C++ 拼字標記器」。
- 預設情況下,拼字檢查工具會使用 en-us 字典,將拼錯字的單字標記為警告,並掃描註解、字串和識別碼中的拼錯字的單字。 此行為可以使用 .editorconfig 檔案來修改。
- 下列屬性可用來控制 editorconfig 中的拼字檢查程式:
spelling_languages = _language_,_language_,etc...
spelling_checkable_types = strings,identifiers,comments
spelling_error_severity = error OR warning OR information OR hint
spelling_exclusion_path = absolute OR relative path to exclusion dictionary (File must be UTF16 with BOM encoding)
.editorconfig 的範例:
spelling_languages = en-us,fr-fr
spelling_checkable_types = identifiers,comments
spelling_error_severity = error
spelling_exclusion_path = .\exclusion.dic
設定和更新
- 您現在可以使用匯出的 *.vsconfig 檔案來輕鬆地設定元件並將其新增至離線配置中。
- 現在可透過 [工具選項產品更新] 對話方塊來取得一律在關閉時更新的選項。 這可讓自動保持更新和安全變得更加容易。 如需詳細資訊,請造訪部落格文章。
- Visual Studio 已為安裝程式新增了音訊提示! 該音訊提示會透過播放聲音來提醒使用者安裝程式已完成作業或出現錯誤。 這包括安裝程式所完成的安裝、更新、修改以及許多其他作業,或在嘗試要求作業時出現的任何錯誤對話方塊。 此功能預設為啟用狀態,使用者可以按照下列連結中所述的指示來將其關閉:在安裝程式中停用聲音
- Visual Studio 現在可透過 [Windows 封包管理員] 工具取得
Teams 工具組更新
- 新的 Microsoft Teams 應用程式 > 工作流程 Bot 專案範本可讓您更輕鬆地開始建立工作的循序工作流程 (例如核准程序或票證系統)。
- 17.5 Preview 2 和 Preview 3 中的預覽功能和專案範本變更包含對任何先前建立的 Microsoft Teams 應用程式專案的重大變更,且不會包含在 17.5 GA 中。 相反地,我們會在整個 17.6 預覽版中繼續預覽這些功能變更,並收集意見反應。
Windows 驗證訊息代理程式
- 啟用 Windows 驗證訊息代理程式,即可加強安全性,並減少提示。
意見反應與建議
我們很希望聽聽您的意見! 您可以使用安裝程式或 Visual Studio IDE 右上角的 [傳送意見反應] 圖示,或從 [說明] > [傳送意見反應] 中,回報問題或建議功能 。 您可以使用 Visual Studio 開發人員社群來追蹤您的問題,您可以在其中新增留言或尋找解決方案。 您也可以透過我們的即時聊天支援取得免費的安裝協助。
部落格
善用「開發人員工具部落格」網站中的見解與建議,讓您能夠隨時取得所有新版本的最新資訊,以及涵蓋各類功能的深入探討文章。
已知問題
- 政府身分識別無法用來授權 Visual Studio
- VS 17.5 Preview 2 錯誤地編譯提升組建 (boost-build)
- 編譯 C++/CLI 目標專案時發生錯誤 C2049。
- 跨「整個專案」或「整個方案」執行「尋找全部」不會搜尋任何檔案,也不會在像是 ".Test" 之類的資料夾中傳回任何結果
.NET 執行階段
遵循以下連結,查看所有已知問題和 Visual Studio 2022 中可用的因應措施。