共用方式為


2022LogoVisual Studio 2022 17.10 版的版本資訊


提示

觀看 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 網站。


Visual Studio 2022 17.10 版

Visual Studio 2022 部落格

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


17.10.2 Visual Studio 2022 17.10.2 版

2024 年 6 月 11 日發行

此版本新功能的摘要

  • 已修正在 Razor 檔案中可能顯示 TypeScript 錯誤而該檔案中實際上並沒有 TypeScript 錯誤的問題。
  • 升級到 Windows 的 Germanium 組建之後,WSL 需要手動升級。 這可能會導致 Visual Studio 在開啟 CMake 專案時停止回應。
  • VS 現在包含 MAUI 8.0.40 (SR5)
  • 為最近發行的 Windows SDK 10.0.26100 版新增選用的安裝程式元件。
  • 使用 .NET SDK 7 時,與 Razor 專案結合會出現一些問題。 https://github.com/dotnet/razor/issues/10411. 附註:.NET SDK 7 系列已停止支援。 先前遇到此問題的客戶應強烈考慮移到受支援的 .NET SDK。

開發人員社群

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

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

17.10.1 Visual Studio 2022 version 17.10.1

2024 年 5 月 29 日發行

此版本新功能的摘要

開發人員社群


17.10.0 Visual Studio 2022 17.10.0 版

2024 年 5 月 21 日發行

此版本新功能的摘要

Visual Studio 中的 GitHub Copilot

GitHub Copilot:AI 支援的編碼小幫手可順暢地融入您的 Visual Studio IDE 中,增強日常工作,並為您帶來最新的 AI 驅動編碼體驗。 Copilot 的設計訴求是要藉由提供下列項目來提升您的效率:

  • 個人化程式碼建議
  • 製作 git 認可訊息
  • 回答編碼相關查詢

我們在 Visual Studio 17.10 中引進了新的統一 Copilot 體驗。 這項體驗將 Copilot 和 Copilot Chat 的功能結合成一個方便的套件,而無須安裝兩個不同的延伸模組。 享受更深入整合的 AI 體驗! 登入 GitHub 或開始免費試用可立即啟用 GitHub Copilot 訂用帳戶,以取得最新的 AI 體驗。

Copilot 運作中

注意:Copilot 現在位於 Visual Studio 介面的右上角。

使用產生的提取要求描述來改善程式碼檢閱

類似於我們產生的 Git 認可訊息功能,您現在可以取得 GitHub Copilot 所建立用於提取要求描述的第一個草稿。 您將取得協助,為您的同事提供重要內容供其檢閱,並仔細檢查您的提取要求中是否包含正確的變更。

您必須確認您已安裝作用中的 GitHub Copilot 訂用帳戶和 GitHub Copilot 聊天延伸模組。 按兩下 [建立提取要求] 視窗中的 [新增 AI 產生的提取要求描述] 閃光畫筆圖示來試試看。 請在這裡分享您對此功能的意見反應。

使用 AI 產生 PR 描述

我們聽取了您的意見反應,並縮短我們產生的 Git 認可功能的輸出。 在開發人員社群中的票證上分享此變更的意見反應。

Ai 產生之 Git 認可訊息的簡短輸出

使用 GitHub Copilot 解除認可歷程記錄

Git 歷程記錄可能會令人望之卻步,但往往是了解程式碼基礎或協助識別錯誤來源的最佳方式。 我們已將 GitHub Copilot 支援的說明功能新增至 [認可詳細資料] 視窗,讓您更輕鬆地了解每個認可的內容。

您必須已安裝作用中的 GitHub Copilot 訂用帳戶和 GitHub Copilot 聊天延伸模組。 按兩下任何認可,即可在 [Git 存放庫] 視窗中開啟 [認可詳細資料] 窗格。 然後,按兩下 [說明認可] 閃光畫筆圖示,以取得程式碼並存變更的摘要。 我們計劃繼續改善這項功能,因此請在這裡分享您的意見反應。

使用 AI 說明認可訊息

使用 .NET Aspire 建置雲端原生應用程式

.NET Aspire 是一個固定的雲端就緒堆疊,可用於建置可觀察且生產就緒的分散式應用程式。 .NET Aspire 會透過處理特定雲端原生考量的 NuGet 套件集合來傳遞。 無論您是使用 PostgreSQL 和 Redis 等容器化資源建置分散式雲端原生應用程式,或是儲存體或服務匯流排等 Azure 元件,.NET Aspire 都能簡化您的開發體驗,並讓您更了解分散式應用程式的各種功能,例如:

  • 不需要設定解決方案的多專案啟動和偵錯
  • 使用一組固定的延伸模組和預設值,內建 HTTP 復原、健康狀態檢查和 OpenTelemetry 的支援
  • 使用新的 .NET Aspire 儀表板啟動體驗,便利的瀏覽器內檢視容器化資源和 .NET 專案的記錄、計量與分散式追蹤
  • Azure Developer CLI (AZD) 之上建置的新部署方法,因此在大部分情況下,您將擁有多節點部署功能,而不需要撰寫自己的基礎結構程式碼

GIF

偵錯和診斷

Copilot 產生的中斷點條件

使用 AI 產生之有條件的中斷點和追蹤點大幅加快偵錯速度。 Copilot 會分析程式碼,建議專為中斷點量身打造的智慧運算式,讓偵錯更順暢。

設定有條件的中斷點或追蹤點,並將滑鼠暫留在設定視窗中的條件區域上時,Copilot 會根據您的程式碼,快速呈現 AI 產生的運算式構想。 選擇最符合您需求的條件,並輕鬆放置中斷點或追蹤點。

AI 產生的中斷點

使用新的 UpDown 和 ObservableCounter 工具獲得 .NET 計數器分析工具視覺效果

Visual Studio 中的 .NET 計數器分析工具現在引進了兩個創新計量的支援:UpDown,以累加和遞減變更即時追蹤值,以及 ObservableCounter,可自主管理彙總總計,提供精確控制的可自訂回呼委派。 在所提供的螢幕擷取畫面中,"total-hats" 說明 UpDown 計數器,而 "orders-pending" 則示範 ObservableCounter。

UpDown 和 ObservableCounter

此外,我們已實作篩選飛出視窗功能,可讓您根據標籤便利地篩選資料點。 這會根據套用的組合來動態調整摘要和泳道檢視。

UpDown 和 ObservableCounter 篩選

這項增強功能可大幅提升彈性,簡化監視專案中的動態值。 例如,在 Web 應用程式開發中,UpDown 計數器可以監視使用者互動,例如頁面檢視,而 Observable 計數器則可透過有效率地管理作用中的工作階段總計將伺服器資源最佳化。

受控記憶體視窗中的 GC 深入解析

[受控記憶體視窗深入解析] 索引標籤現在支援 GC Insights。 這項功能會淡化引發記憶體回收 (GC) 執行個體,讓您更深入了解應用程式的效能。 這些執行個體通常因為可能會妨礙程序的效率而視為不需要,因為其牽涉到手動介入,而不是允許記憶體回收行程自主管理記憶體配置。 此外,GC Insights 可讓您使用時間估計來分析這些出現次數,讓您更清楚地了解引發 GC 對其應用程式執行時間軸的影響。

GC_Insights

從運算式建立條件式斷點和追蹤點

此升級可簡化新功能表選項的偵錯:[插入條件式斷點] 和 [插入追蹤點]。您現在可以使用自動、區域變數、監看視窗或資料提示中的屬性或功能變數名稱和值,毫不費力地建立斷點。 這可讓偵錯工作流程更輕鬆,尤其是複雜的運算式。

運算式 BP

使用記憶體工具簡化記憶體使用量調查

新的「最忙碌路徑到根目錄」功能可藉由尋找到根目錄最可能的路徑來計算物件的總大小,藉以改善記憶體分析。 它會使用捷徑將堆積圖表轉換成樹狀結構,例如優先使用最短路徑,以及避免讓路徑在實際根目錄中形成迴圈。 這項功能是記憶體調查的絕佳起點,在記憶體使用量工具參考圖表中稱為「最忙碌路徑到根目錄」。 您會在下方的樹狀結構中找出具有紅色圖示的最忙碌路徑。

根目錄的最忙碌路徑

[附加至處理程序] 對話方塊改寫

Visual Studio 中的 [附加至處理程序] 對話方塊已大幅改善,以提升功能和易用性。 這些更新包括與 Visual Studio 主題的順暢整合、節省更多空間且具有連線資訊工具提示的檢視,以及將「本機」連線設定為預設值,以加快存取速度。 您現在可以輕鬆地在樹狀結構和清單檢視之間切換、使用可摺疊區段更妥善地組織處理程序,以及使用簡化的下拉式方塊來選取程式碼類型。 此外,「選取/追蹤視窗」功能現在更容易使用,允許雙向追蹤、選取處理程序會醒目顯示其視窗,然後按一下視窗可選取其處理程序。

附加至流程

EXE 的目標檢測

效能分析工具的檢測工具現在允許任何可執行檔 (exe) 檔案的目標分析。 選取 exe 檔案之後,便會出現目標檢測對話方塊,類似於啟動專案分析。 這項增強功能可讓您集中分析特定可執行檔的效能計量。 此外,您可以使用 [新增項目] 按鈕來加入額外的動態連結程式庫 (DLL),擴大分析範圍,以增強應用程式效能的檢查。

Exe 檢測

某些專案的 Blazor 偵錯效能

建置 ASP.NET Core Blazor 專案時,在某些情況下開始偵錯時,可能會遇到重大延遲。 在此版本中,我們已進行變更來避免這些延遲。 如果您無法升級至 17.10 或更新版本,開發人員社群網站上列出 17.9 版的因應措施

取消解決方案載入

如果您想在載入所有專案之前,停止解決方案載入流程。 您現在可以取消作業,返回空的環境 IDE。 取消載入

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

Teams 工具組現在包含新的專案檔 (.ttkproj),用於整理所有檔案,以便管理 Teams 應用程式。 建立新的 Microsoft Teams 應用程式專案時,會建立有兩個專案的解決方案,您會看到 TeamsApp 專案,其中包含 Teams 工具組功能的應用程式資訊清單和其他檔案,以及另一個 C# 專案,其中有實作對話式 Bot、Tab 等應用程式功能的程式碼範例。

Teams 工具組新解決方案

您也會發現這些改變:

  • 現在 Teams 工具組專案功能表在 TeamsApp 專案可供探索
  • 支援預覽功能 > 會啟用多專案啟動設定檔,讓您更容易在 Teams、Outlook 或其他支援的 Teams 應用程式平台啟動偵錯

新的 WinUI 工作負載和範本改進

開始使用 WinUI 從未如此簡單

新的 Windows 應用程式開發工作負載現在可供開發人員直接使用並開始使用 .NET 撰寫時尚、現代化且快速的 WinUI 應用程式。 按一下即可進行安裝。

僅使用 C# 選取 WinUI 工作負載

如果您想要以 C++ 撰寫 WinUI 應用程式,您可以在此工作負載下選取選用元件。

僅使用 C# 和 C++ 選取 WinUI 工作負載

使用更佳的範本選取項目和新的單元測試範本,更快速地深入探討 WinUI

WinUI 範本已在 [新增專案] 範本選取清單中提供全新的圖示和優先順序提升,使其更容易存取。 C# 和 C++ 最受歡迎的空白應用程式範本位於頂端附近,因此您不須搜尋或捲動,即可跳入程式碼。 我們也為 WinUI 新增了全新的社群要求單元測試範本,以協助您更輕鬆地測試您的應用程式!

WinUI 新的專案範本選取項目

擴充性

您現在可以使用 Visual Studio 2022 17.10 版安裝程式,將已安裝的全執行個體 Marketplace 延伸模組匯出至 *.vsconfig 檔案。 這項新的匯出功能可補充 Visual Studio 安裝程式 載入我們在 17.9 中提供之 *.vsconfig 檔案中所指定的延伸模組的能力。 如果您有關於此體驗的任何意見反應或建議,請在開發人員社群中告訴我們。

如需使用 *.vsconfig 檔案的詳細資訊,請參閱線上文件。

Razor 檔案中 C# 程式代碼的內嵌提示

您現在可以在 Razor (.razor、.cshtml) 檔案中啟用 C# 程式代碼的內嵌提示。 內嵌提示會顯示內嵌於您程式碼的常值和物件具現化的參數名稱。 內嵌提示也可針對適用於具有推斷類型 (亦即 var) 與 Lambda 參數類型的變數顯示類型提示。 此功能可透過 [工具]> [選項] > [文字編輯器] > [C#] > [進階] 來啟用。

Razor 檔案的內嵌提示

程式碼搜尋和瀏覽

在一次性搜尋中,我們已進行一些變更,以簡化 UI 並改善可讀性。 這些變更包括移除查詢中的反白顯示相符項目、移除具有每個結果類型計數的狀態列,以及將狀態訊息移至篩選資料列。

多合一搜尋 UI 變更

請在開發人員社群上告訴我們您的想法。

使用新的文字格式選項改善 Visual Studio 的可讀性

我們已解決 Visual Studio 2019 中的斜體字型支援,將斜體、刪除線和底線視為 IDE 文字格式設定的其他選項。

格式化註解,使用斜體字型

若要使用新選項將您的體驗個人化,請瀏覽至 [工具] > [選項] > [環境] 中的 [字型和色彩] 頁面,您可以在其中找到每個先前提及選項的核取方塊。

影像暫留預覽

任何 Web、桌面或行動裝置開發人員經常會使用影像。 您可以從 C#、HTML、XAML、CSS、C++、VB、TypeScript,甚至是在程式碼註解中參考到。 有些影像是本機影像,有些則存在於線上或網路共用上,而其他影像則只以 base64 編碼字串的形式存在。 我們會以許多方式在程式碼中加以參考,但一律做為字串值,而非讓我們看到影像外觀。 直到現在。

影像暫留預覽

我們已包含編輯器工具提示,當滑鼠停留在程式碼編輯器中的影像參考上方時,就會顯示此工具提示。 工具提示會以其原始大小來顯示影像,但上限為寬和高 500 像素。 在預覽影像下方,您會看到以像素為單位的大小,和以位元組為單位的檔案大小。 這項功能是與 Visual Studio 社群密切合作所開發。 感謝您!

Windows Forms 跨處理序設計工具

Windows Forms 跨處理序設計工具的效能改善

透過與主要合作夥伴富有成效的合作,我們很榮幸宣佈 WinForms 伺服器處理序 TypeResolutionService 的大幅增強功能。 這些增強功能在一般企業營運應用程式中產生了顯著的設計時間效能改善,範圍從 30% 到令人印象深刻的 50%。 值得注意的是,在觸發伺服器處理序重新啟動和設計工具重新載入的案例 (例如專案參考中的專案重建或調整) 中,這些增強功能特別突出。 這些效能改善的核心在於我們小組所實作的新機制,優先處理對於設計工具負載至關重要的組件。 我們鼓勵您探索更新的設計工具,並透過 VS 意見反應通道分享您寶貴的意見反應,以便我們能夠繼續改善 WinForms 設計工具效能。

SQL

Visual Studio for ARM64 支援 SSDT

您現在可以在 Visual Studio for ARM64 中建立資料庫專案。 此版本中所提供 SSDT 的一些主要功能包括:

  • 資料庫專案 (開啟、建置、發佈)
  • 結構描述比較
  • 資料比較
  • 查詢編輯器
  • 資料表設計工具
  • 資料庫屬性編輯器
  • 物件重構

此版本的一些限制如下:

  • 偵錯工具
  • IntelliSense
  • 使用 localdb 在本機電腦進行資料庫開發

在 SSDT 中支援 MCD (多資料行的分佈)

使用者現在可以在匯出期間設定 DW 相容性層級。

  • 我們已在 [作業索引標籤] 底下的 [資料庫設定] 中新增了新的資料庫選項。 它被命名為「DW 相容性層級」
  • 可能的值為 Auto|10|20|30|40|50|9000,且僅對目標 - Microsoft Azure SQL 資料倉儲有效

DW 相容性層級

使用者在安裝期間選取的工作負載隨附必要和建議的元件。 必要的元件對於工作負載的功能至關重要,雖然建議的元件是選用元件,但是在最大化其潛力方面扮演了重要的角色。

自 Visual Studio 2017 發行以來,持續增強功能已透過次要版本更新整合到 IDE 中。 這些改進可提升生產力並擴充開發功能,順暢地整合到現有元件和新的元件中。 不過,許多使用者在以累加方式更新時,可能不會注意到這些新的建議元件。 若要解決此問題,從 17.10 P1 開始,Visual Studio 會在更新期間自動安裝這些新的建議元件。 值得注意的是,更新期間安裝的建議元件僅適用於使用者所選擇的工作負載。

同樣地,在更新期間,這項功能可確保不會安裝任何新的工作負載。 此外,使用者選擇不要安裝的任何現有建議元件仍維持不變。

如果您不想使用此功能,您可輕鬆地在安裝程式的 [更新設定] 對話方塊中予以取消選取。 如果您不再需要建議的元件,也可藉由修改安裝來移除建議的元件。

包含推薦項目

如需 Visual Studio 中所有元件的清單,包括建議的元件,請參閱 Visual Studio 元件識別碼

改善 Android Emulator 效能影響的偵測

Visual Studio 會在嘗試啟動 Android Emulator 時檢查硬體加速,並會顯示說明潛在效能影響的實用對話方塊。 如果未設定您的電腦,或不支援使用 Windows Hypervisor 平台 (WHPX) 的硬體加速,則現在需要 Android Emulator Hypervisor 驅動程式 (AEHD)。 Intel Hardware Accelerated Execution Manager (HAXM) 已從 Android Emulator API 層級 33 和更新版本中淘汰,且已由 Intel 處理器上的 AEHD 取代。

如需詳細資訊,請參閱如何使用 Android Emulator (Hyper-V 和 AEHD) 啟用硬體加速

將工作項目連結至提取要求

在 Visual Studio 中建立提取要求時,Azure DevOps 使用者的第一個要求便是啟用工作項目連結。 現在,您可以使用 [相關工作項目] 區段來檢視您在提取要求描述中所參考的任何工作項目,並將工作項目連結至 Azure DevOps 上的提取要求。

連結工作項目

C++

  • 我們已在 CMake 目標檢視中新增釘選 CMake 目標的支援。 釘選的目標現在有最上層資料夾。 您可以按滑鼠右鍵並選取捷徑功能表中的 Pin 選項,以釘選任何目標。

透過捷徑功能表釘選 CMake 目標

您也可以選取 Unpin,以將已釘選目標資料夾中的任何目標取消釘選。

  • Visual C++ 工具組會將次要版本號碼從 19.39 (VS 2022 v17.9) 遞增至 19.40 (VS 2022 v17.10)。 Visual C++ 工具組在 Preview 1 版本中將是 19.40.33521.0 版。 如需詳細資訊,請參閱 VS 2022 v17.10 部落格文章中的 Visual C++ 工具組次要版本號碼 14.40

  • 您現在可以使用 Build Insights 來檢視範本具現化資訊。 範本具現化集合必須在 [工具 > 選項 > Build Insights] 中啟動。 遞迴範本具現化

  • 我們已新增其他 Unreal Engine 巨集,以根據 UE 程式碼樣式縮排。

  • 您現在可以保留 Unreal Engine 測試配接器在背景中執行所需的 Unreal Engine 外掛程式,以大幅降低啟動成本。 這是可透過 [工具 > 選項 > Unreal Engine] 啟動的選擇加入功能。

C++ 記憶體配置視覺效果

Visual Studio 現在具有 C++ 記憶體配置視覺效果功能。 這項功能會顯示編輯器內類別、結構和集合聯集的記憶體配置,而不需要編譯。 當您將滑鼠停留在類型上方時,[記憶體配置] 連結會出現在 [快速資訊] 中。 按一下此連結會開啟一個視窗,其中顯示所選類型的記憶體配置,以及個別資料類型大小和位移的詳細資料。

C++ 記憶體配置視覺效果功能

Win32 應用程式隔離

一項突破性的安全性功能,可增強使用者隱私權和應用程式完整性。 Win32 應用程式隔離建置在 AppContainers 的基礎上,可確保應用程式處於沙盒中,進而提供一個安全的環境來限制潛在危害的影響。

開發人員現在可以在 Visual Studio 中輕易隔離應用程式,進而簡化流程並改善其專案的整體安全性態勢。 您可以直接與開發人員社群互動,並提供有關新功能和改進的意見反應


已知問題

  • 從 Delinea 安裝權限管理軟體的使用者可能會遇到啟動 Visual Studio 的問題。 Delinea 知道此問題並已加以解決。 請透過 https://delinea.com/support 連絡他們,以取得如何解決此問題的指示。
  • 原始檔控制對話方塊 - 如需因應措施,請參閱票證,避免看到「找不到與這個解決方案相關聯的原始檔控制提供者」的對話方塊。
  • 以 UWP 為目標的 C++ 使用者可能會因為遺失 C:\Program Files (x86)\Microsoft SDKs\Windows Kits\10\ExtensionSDKs\Microsoft.VCLibs.Desktop 資料夾而遇到建置錯誤 Could not find SDK "Microsoft.VCLibs.Desktop, Version=14.0"。 如需詳細資料和因應措施,請參閱票證。 此問題已排定優先順序。 (2024 年 5 月 29 日更新:這已於 17.10.1 版本中修正)。
  • 建置受控 MFC DLL 的 C++ 使用者可能會遇到建置錯誤 error LNK2001: unresolved external symbol "public: __cdecl PostDllMain::PostDllMain(void)"。 如需詳細資料和因應措施,請參閱票證。 此問題已排定優先順序。 (2024 年 5 月 29 日更新:這已於 17.10.1 版本中修正)。
  • C# 編譯器的最佳化導致值為 null 的十進位值與值為 0.00m 的十進位值之間的比較被錯誤地視為相等。 .NET 編譯器存放庫有其他詳細資料可用
  • 最近對基礎 Windows 元件進行的更新導致了 [診斷工具] 視窗發生重大變更,進而影響分析工具。 這會影響所有 Visual Studio 2022 版本。 其他詳細資料和最新的更新可以在開發人員社群網站上檢閱

注意

此更新可能包含個別授權的新 Microsoft 或第三方軟體,如第三方通知或其隨附授權中所述。

意見反應與建議

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


部落格

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


頁首