Visual Studio 2022 17.10 版的發行備註
提示
觀看 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.10 版
- 2024 年 11 月 12 日 - Visual Studio 2022 17.10.9 版
- 2024 年 10 月 8 日 - Visual Studio 2022 17.10.8 版
- 2024 年 9 月 10 日 — Visual Studio 2022 版本 17.10.7
- 2024 年 8 月 13 日 — Visual Studio 2022 17.10.6 版
- 2024 年 7 月 25 日 — Visual Studio 2022 17.10.5 版
- 2024 年 7 月 9 日 — Visual Studio 2022 17.10.4 版
- 2024 年 6 月 18 日 — Visual Studio 2022 17.10.3 版
- 2024 年 6 月 11 日 — Visual Studio 2022 17.10.2 版
- 2024 年 5 月 29 日 — Visual Studio 2022 17.10.1 版
- 2024 年 5 月 21 日 — Visual Studio 2022 17.10.0 版
Visual Studio 2022 部落格
Visual Studio 2022 部落格是由 Visual Studio 工程小組發行的官方產品見解。 您可以在下列文章中找到有關 Visual Studio 2022 版本的深入資訊:
Visual Studio 2022 17.10.9 版
發行於 2024 年 11 月 12 日
本版新功能
開發人員社群
- 嚴重錯誤 C1001:內部編譯程序錯誤
- MSVC 14.40.33807 使用 std::coroutine 產生不正確的元件,並截斷指標
- MSVC 工具組 v19.38 和更新版 /O2 中的程序代碼根不正確
- C++ 模組和連結:嚴重錯誤 LNK1000:IncrBuildImage.Pass2 期間發生內部錯誤
已解決的資安漏洞諮詢通告
- CVE-2024-43498.NET NrbfDecoder 元件遠端程式代碼執行弱點
- CVE-2024-43499.NET NrbfDecoder 元件阻斷服務弱點
- CVE-2024-49044 Visual Studio 特權提升弱點
Visual Studio 2022 17.10.8 版
發行於 2024 年 10 月 8 日
本版新功能
- 將 Visual Studio 安裝的 Windows 11 SDK (10.0.26100.0)更新為 2024 年 10 月維護組建。
開發人員社群
已解決的資安漏洞諮詢通告
- CVE-2024-43483 System.Security.Cryptography.Cose 中的 .NET 阻斷服務弱點,System.IO.Packaging,System.Runtime.Caching
- CVE-2024-43484 System.IO.Packaging 中的 .NET 阻斷服務弱點
- CVE-2024-43485 System.Text.Json 6.0.x 和 8.0 中的 .NET 阻斷服務弱點。
- VISUAL Studio 收集器服務中的 CVE-2024-43603 阻斷服務弱點
- Visual Studio C++可轉散發安裝程式中的 CVE-2024-43590 特權提升弱點
Visual Studio 2022 17.10.7 版
2024 年 9 月 10 日發行
本版新功能
- Xamarin Profiler 已被取代並從 Visual Studio 中移除。
- 已修正某些 UI 元件顯示為大於 VS 其餘部分的 BUG。
- 已修正 DeployAppRecipe.exe 工具中的損毀問題。
開發人員社群
- /O2、/fp:fast 和 /arch:avx 產生的元件錯誤
- 升級至以 17.10.1 為目標的 ARM64 時發生內部編譯器錯誤
- 使用 17.11 預覽版 2.1 時,編譯器會在 x86 產生不正確的 codegen,內含從 STL 的向量化程式碼中針對 std::min 擷取的程式碼片段。
- VS 17.10 以 /O2 /arch:AVX2 產生錯誤的程式碼
- 診斷工具的縮放錯誤
已解決的資安漏洞諮詢通告
CVE-2024-35272 SQL Server Native Client OLE DB 提供者遠端程式碼執行弱點
Visual Studio 2022 17.10.6 版
發行日期:2024 年 8 月 13 日
此版本新功能的摘要
- 已修正編譯器在 /arch:SSE 或 /arch:SSE2 編譯期間產生 AVX 向量比較指令的錯誤 (bug)。
- 已修正針對 17.10 所回報的編譯器在編譯 nanobind v.1.9.2 時損毀。
- 已修正 C++ 編譯器中與 C++17 或更高版本中保證複製省略相關的回歸。
- 已修正 template-template 參數套件編譯錯誤的問題。
- 已修正 MSVC 編譯器無法編譯 qtwebengine 中的某些程式碼,而是發出 「C2100:您無法對型別 'v8::internal::compiler::turboshaft::WordRepresentation' 的運算元取值」。
開發人員社群
- vs2022 17.10.0p7:某些迴圈建構上「ARM64|Release」的 MSVC 程式碼產生錯誤 (bug)
- 啟用 SPGO 的 x86 組建內嵌解構函式中的錯誤 (bug)
- 即使 「已啟用增強指令集」設定為「未設定」,仍會產生 AVX 指令
- 內部編譯器錯誤,含 nanobind v1.9.2
- VS 17.10:偽編譯錯誤 C2102 (“&” 需要 l-value)
- QtWebEingine 編譯造成內部編譯器錯誤 C2100
- 升級到版本 17.10.3 後,VB.Net 專案的某些區域缺少顯示結構輔助線。
已解決的資安漏洞諮詢通告
- CVE-2024-38167 .NET 執行階段 TlsStream 存在可能導致資訊洩漏的弱點。
- CVE-2024-38168 .NET 中存在弱點,攻擊者透過未經驗證的要求可能會觸發 ASP.NET HTTP.sys 網頁伺服器的阻斷服務。 這是僅限 Windows OS 的弱點。
Visual Studio 2022 17.10.5 版
2024 年 7 月 25 日發行
此版本新功能的摘要
- 現在在執行 Visual Studio 時,使用 GitHub 帳戶登入 Visual Studio 是支援的案例。 當與 Visual Studio 程序相關聯的使用者名稱與登入 Windows OS 的使用者名稱不完全相符時,就會以不同的使用者身分執行 Visual Studio。 針對在這些情況下執行 VS 的使用者,將會於 Windows 工作階段保存認證,且每當 Windows 重新啟動時,使用者就必須將其 GitHub 帳戶重新新增至 Visual Studio。
- 還原 NuGet Central 套件管理先前要求使用者將
ManagePackageVersionsCentrally
設定為 true 來加入功能的行為。 - 已修正 Copilot 在 C++ 快速資訊中產生的文件所導致的停止回應問題。
- 當 "C# Interactive" 命令附加到標準工具列時,可以在「其他視窗」功能表控制器中使用該命令。
- 載入已設定 SccProjectName 屬性的解決方案或專案時,將不會再顯示「找不到與此解決方案相關聯的原始檔控制提供者。」對話方塊。
- Azure 附加至 App Service 支援附加至具有內部 Load Balancer 的 Azure 服務環境,例如以
.appserviceenvironment.net
結尾的網站。
開發人員社群
- 無法處理 NuGet 套件,例如 17.9.7 (NU1008)
- VS2022 17.10.1 在 Azure DevOps 管線中擲回錯誤 (自我裝載)
- 使用 VS 17.9.1 建置參考原生函式的 C++/CLI 程式時出現「LINK: 錯誤 LNK2034: 中繼資料與 COFF 符號表不一致」
- 升級至 17.10.0 之後,當程式碼相對較長時,輸入會很慢
- 網路共用上專案的波浪線和導覽中斷
- 重新開啟 VS 之後會遺漏 C# Interactive 工具列功能表
- 檔案 > 最近專案不再提供移除非現有項目
- 17.10.0 Preview 2.0 - 找不到與此解決方案相關聯的原始檔控制提供者
Visual Studio 2022 17.10.4 版
2024 年 7 月 9 日發行
此版本新功能的摘要
- 將 MinGit 更新為 v2.45.2.1,此版本包含 GCM 2.5,可解決先前 GCM 版本的問題,也就是在複製之後向 Git 回報錯誤,使複製作業看起來像是失敗了一樣。
- 已修正 PDB 讀取程式碼中的錯誤,以忽略某些 FASTLINK PDB 的預期失敗。
- 這會修正涉及參考 'constexpr' 局部變數之泛型 Lambda 的編譯器損毀並導致從封入函式傳回 Lambda 的問題。
- 在累加連結期間減少 ILK 檔案大小。
- 修正 DeployAppRecipe.exe 工具中導致損毀的問題。
- 已修正偵錯 dotnet 6/7 alpine 容器時的問題。
- VS 現在包含 MAUI 8.0.61 (SR6.1);https://github.com/dotnet/maui/releases/tag/8.0.61
開發人員社群
- 錯誤: 無法開啟檔案 (null)。 錯誤碼 = 0x0000000D
- 在 ARM64EC 上使用 OpenMP 時導致損毀 (英文)
- 內部編譯器錯誤變體 (1510) (英文)
- 在已啟用 ASan 的情況下建置靜態偵錯 STL 時發生的啟動問題 (英文)
- 嚴重錯誤 C1001:內部編譯器錯誤
- 更新至 VS 17.10 之後,.ilk 檔案的大小大幅增加,導致嚴重錯誤 LNK1210 (英文)
- 升級至 Visual Studio 2022 17.10.0 後,在建置 ARM64|Release 時出現「內部編譯器錯誤」 (英文)
- [編譯器 BUG][產生錯誤程式碼] 編譯器在 MSVC 17.10.1 中插入 AVX2 指令並針對 Xbox One 使用 /arch:AVX 和 -d2SSAOptimizer- 時導致損毀 (英文)
- VS 2022 17.4 預覽版 3 上的 ICE 具有無效範本 (英文)
- Docker 型偵錯的新問題,未修正先前的問題 (英文)
- SQL Server 物件總管中的偵錯預存程序正在從電腦中尋找預存程序檔案。 (英文)
- 輸入條件式偵錯時,Copilot 會覆寫我輸入的內容 (英文)
- 調試程式在更新至 17.10.1 之後找不到來源檔案 (英文)
已解決的資安漏洞諮詢通告
- 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 中的資料損毀可能導致遠端程式碼執行。
Visual Studio 2022 17.10.3 版
2024 年 6 月 18 日發行
此版本新功能的摘要
- 從標準工具列上的 MenuController 執行 C# 互動命令之後,Visual Studio 將不再當機。
- 在 razor 檔案中的標籤協助程式內使用 @ 可能會導致不正確的編譯錯誤的問題。 https://github.com/dotnet/razor/issues/10186
開發人員社群
- 升級至 17.10.2 之後,延伸模組無法再運作,缺少 Extensibility.Contracts
- vs 2022 TypeScript IntelliSense 未在 17.10.1 中運作
- 偵錯文字視覺化檢視中的複製中斷
- TAB 鍵無法可靠地接受 Visual Studio 17.8.6 中 Copilot 完成 Markdown 中的灰色文字建議
- 工具列中缺少 C# 互動式功能表 | 其他 Windows
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。
開發人員社群
- 在 Razor 檔案中遇到 TS1109 (TS) 運算式預期錯誤
- 在 [工具] 中遺留了 cmdnameRunIntellisenseCheck 項目
- 在將 Visual Studio Community 更新為 17.10.0 之後無法進行 nuget 還原。 已新增具有相同索引鍵的項目。
- 在 Visual Studio 2022 中無法在 Sapphire Rapids CPU 上對 x86 程式碼進行偵錯
已解決的資安漏洞諮詢通告
- CVE-2024-30052 在偵錯包含具有適當副檔名的惡意檔案的傾印檔時會發生「遠端程式碼執行」攻擊
- CVE-2024-29060 受影響的 Visual Studio 安裝執行中的權限提高
- CVE-2024-29187 以 SYSTEM 身分執行時,基於 WiX 的安裝程式易受到二進位檔劫持的威脅
Visual Studio 2022 17.10.1 版
2024 年 5 月 29 日發行
此版本新功能的摘要
開發人員社群
- 由於升級後 GitHub Copilot 延伸模組過時,Visual Studio 處於啟動迴圈中
- 找不到 SDK "Microsoft.VCLibs.Desktop, Version=14.0"
- VS 17.10.0 Preview 3.0 和 MFC 使用者 dll + CLR -> 連結器錯誤
- 使用工具鏈版本 14.39.33523 時,出現了 vblendps 取代 vinsertps 的非預期情況
- 在為 x64 建置最新的 clang 時,cl.exe 損毀了
- VS2022 17.10.0 Preview 4 測試控制器或代理程式錯誤:填補無效且無法移除
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 現在位於 Visual Studio 介面的右上角。
使用產生的提取要求描述來改善程式碼檢閱
類似於我們產生的 Git 認可訊息功能,您現在可以取得 GitHub Copilot 所建立用於提取要求描述的第一個草稿。 您將取得協助,為您的同事提供重要內容供其檢閱,並仔細檢查您的提取要求中是否包含正確的變更。
您必須確認您已安裝作用中的 GitHub Copilot 訂用帳戶和 GitHub Copilot 聊天延伸模組。 按兩下 [建立提取要求] 視窗中的 [新增 AI 產生的提取要求描述] 閃光畫筆圖示來試試看。 請在這裡分享您對此功能的意見反應。
我們聽取了您的意見反應,並縮短我們產生的 Git 認可功能的輸出。 在開發人員社群中的票證上分享此變更的意見反應。
使用 GitHub Copilot 解除認可歷程記錄
Git 歷程記錄可能會令人望之卻步,但往往是了解程式碼基礎或協助識別錯誤來源的最佳方式。 我們已將 GitHub Copilot 支援的說明功能新增至 [認可詳細資料] 視窗,讓您更輕鬆地了解每個認可的內容。
您必須已安裝作用中的 GitHub Copilot 訂用帳戶和 GitHub Copilot 聊天延伸模組。 按兩下任何認可,即可在 [Git 存放庫] 視窗中開啟 [認可詳細資料] 窗格。 然後,按兩下 [說明認可] 閃光畫筆圖示,以取得程式碼並存變更的摘要。 我們計劃繼續改善這項功能,因此請在這裡分享您的意見反應。
使用 .NET Aspire 建置雲端原生應用程式
.NET Aspire 是一個固定的雲端就緒堆疊,可用於建置可觀察且生產就緒的分散式應用程式。 .NET Aspire 會透過處理特定雲端原生考量的 NuGet 套件集合來傳遞。 無論您是使用 PostgreSQL 和 Redis 等容器化資源建置分散式雲端原生應用程式,或是儲存體或服務匯流排等 Azure 元件,.NET Aspire 都能簡化您的開發體驗,並讓您更了解分散式應用程式的各種功能,例如:
- 不需要設定解決方案的多專案啟動和偵錯
- 使用一組固定的延伸模組和預設值,內建 HTTP 復原、健康狀態檢查和 OpenTelemetry 的支援
- 使用新的 .NET Aspire 儀表板啟動體驗,便利的瀏覽器內檢視容器化資源和 .NET 專案的記錄、計量與分散式追蹤
- 在 Azure Developer CLI (AZD) 之上建置的新部署方法,因此在大部分情況下,您將擁有多節點部署功能,而不需要撰寫自己的基礎結構程式碼
偵錯和診斷
Copilot 產生的中斷點條件
使用 AI 產生之有條件的中斷點和追蹤點大幅加快偵錯速度。 Copilot 會分析程式碼,建議專為中斷點量身打造的智慧運算式,讓偵錯更順暢。
設定有條件的中斷點或追蹤點,並將滑鼠暫留在設定視窗中的條件區域上時,Copilot 會根據您的程式碼,快速呈現 AI 產生的運算式構想。 選擇最符合您需求的條件,並輕鬆放置中斷點或追蹤點。
使用新的 UpDown 和 ObservableCounter 工具獲得 .NET 計數器分析工具視覺效果
Visual Studio 中的 .NET 計數器分析工具現在引進了兩個創新計量的支援:UpDown,以累加和遞減變更即時追蹤值,以及 ObservableCounter,可自主管理彙總總計,提供精確控制的可自訂回呼委派。 在所提供的螢幕擷取畫面中,"total-hats" 說明 UpDown 計數器,而 "orders-pending" 則示範 ObservableCounter。
此外,我們已實作篩選飛出視窗功能,可讓您根據標籤便利地篩選資料點。 這會根據套用的組合來動態調整摘要和泳道檢視。
這項增強功能可大幅提升彈性,簡化監視專案中的動態值。 例如,在 Web 應用程式開發中,UpDown 計數器可以監視使用者互動,例如頁面檢視,而 Observable 計數器則可透過有效率地管理作用中的工作階段總計將伺服器資源最佳化。
受控記憶體視窗中的 GC 深入解析
[受控記憶體視窗深入解析] 索引標籤現在支援 GC Insights。 這項功能會淡化引發記憶體回收 (GC) 執行個體,讓您更深入了解應用程式的效能。 這些執行個體通常因為可能會妨礙程序的效率而視為不需要,因為其牽涉到手動介入,而不是允許記憶體回收行程自主管理記憶體配置。 此外,GC Insights 可讓您使用時間估計來分析這些出現次數,讓您更清楚地了解引發 GC 對其應用程式執行時間軸的影響。
從運算式建立條件式斷點和追蹤點
此升級可簡化新功能表選項的偵錯:[插入條件式斷點] 和 [插入追蹤點]。您現在可以使用自動、區域變數、監看視窗或資料提示中的屬性或功能變數名稱和值,毫不費力地建立斷點。 這可讓偵錯工作流程更輕鬆,尤其是複雜的運算式。
使用記憶體工具簡化記憶體使用量調查
新的「最忙碌路徑到根目錄」功能可藉由尋找到根目錄最可能的路徑來計算物件的總大小,藉以改善記憶體分析。 它會使用捷徑將堆積圖表轉換成樹狀結構,例如優先使用最短路徑,以及避免讓路徑在實際根目錄中形成迴圈。 這項功能是記憶體調查的絕佳起點,在記憶體使用量工具參考圖表中稱為「最忙碌路徑到根目錄」。 您會在下方的樹狀結構中找出具有紅色圖示的最忙碌路徑。
[附加至處理程序] 對話方塊改寫
Visual Studio 中的 [附加至處理程序] 對話方塊已大幅改善,以提升功能和易用性。 這些更新包括與 Visual Studio 主題的順暢整合、節省更多空間且具有連線資訊工具提示的檢視,以及將「本機」連線設定為預設值,以加快存取速度。 您現在可以輕鬆地在樹狀結構和清單檢視之間切換、使用可摺疊區段更妥善地組織處理程序,以及使用簡化的下拉式方塊來選取程式碼類型。 此外,「選取/追蹤視窗」功能現在更容易使用,允許雙向追蹤、選取處理程序會醒目顯示其視窗,然後按一下視窗可選取其處理程序。
EXE 的目標檢測
效能分析工具的檢測工具現在允許任何可執行檔 (exe) 檔案的目標分析。 選取 exe 檔案之後,便會出現目標檢測對話方塊,類似於啟動專案分析。 這項增強功能可讓您集中分析特定可執行檔的效能計量。 此外,您可以使用 [新增項目] 按鈕來加入額外的動態連結程式庫 (DLL),擴大分析範圍,以增強應用程式效能的檢查。
某些專案的 Blazor 偵錯效能
建置 ASP.NET Core Blazor 專案時,在某些情況下開始偵錯時,可能會遇到重大延遲。 在此版本中,我們已進行變更來避免這些延遲。 如果您無法升級至 17.10 或更新版本,開發人員社群網站上列出 17.9 版的因應措施。
取消解決方案載入
如果您想在載入所有專案之前,停止解決方案載入流程。 您現在可以取消作業,返回空的環境 IDE。
Microsoft Teams 開發工具 (Teams 工具組)
Teams 工具組現在包含新的專案檔 (.ttkproj),用於整理所有檔案,以便管理 Teams 應用程式。 建立新的 Microsoft Teams 應用程式專案時,會建立有兩個專案的解決方案,您會看到 TeamsApp 專案,其中包含 Teams 工具組功能的應用程式資訊清單和其他檔案,以及另一個 C# 專案,其中有實作對話式 Bot、Tab 等應用程式功能的程式碼範例。
您也會發現這些改變:
- 現在 Teams 工具組專案功能表在 TeamsApp 專案可供探索
- 支援預覽功能 > 會啟用多專案啟動設定檔,讓您更容易在 Teams、Outlook 或其他支援的 Teams 應用程式平台啟動偵錯
新的 WinUI 工作負載和範本改進
開始使用 WinUI 從未如此簡單
新的 Windows 應用程式開發工作負載現在可供開發人員直接使用並開始使用 .NET 撰寫時尚、現代化且快速的 WinUI 應用程式。 按一下即可進行安裝。
如果您想要以 C++ 撰寫 WinUI 應用程式,您可以在此工作負載下選取選用元件。
使用更佳的範本選取項目和新的單元測試範本,更快速地深入探討 WinUI
WinUI 範本已在 [新增專案] 範本選取清單中提供全新的圖示和優先順序提升,使其更容易存取。 C# 和 C++ 最受歡迎的空白應用程式範本位於頂端附近,因此您不須搜尋或捲動,即可跳入程式碼。 我們也為 WinUI 新增了全新的社群要求單元測試範本,以協助您更輕鬆地測試您的應用程式!
擴充性
您現在可以使用 Visual Studio 2022 17.10 版安裝程式,將已安裝的全執行個體 Marketplace 延伸模組匯出至 *.vsconfig 檔案。 這項新的匯出功能可補充 Visual Studio 安裝程式 載入我們在 17.9 中提供之 *.vsconfig 檔案中所指定的延伸模組的能力。 如果您有關於此體驗的任何意見反應或建議,請在開發人員社群中告訴我們。
如需使用 *.vsconfig 檔案的詳細資訊,請參閱線上文件。
Razor 檔案中 C# 程式代碼的內嵌提示
您現在可以在 Razor (.razor、.cshtml) 檔案中啟用 C# 程式代碼的內嵌提示。 內嵌提示會顯示內嵌於您程式碼的常值和物件具現化的參數名稱。 內嵌提示也可針對適用於具有推斷類型 (亦即 var
) 與 Lambda 參數類型的變數顯示類型提示。 此功能可透過 [工具]> [選項] > [文字編輯器] > [C#] > [進階] 來啟用。
程式碼搜尋和瀏覽
在一次性搜尋中,我們已進行一些變更,以簡化 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 資料倉儲有效
Visual Studio 更新現在會包含建議的元件
使用者在安裝期間選取的工作負載隨附必要和建議的元件。 必要的元件對於工作負載的功能至關重要,雖然建議的元件是選用元件,但是在最大化其潛力方面扮演了重要的角色。
自 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
選項,以釘選任何目標。
您也可以選取 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++ 記憶體配置視覺效果功能。 這項功能會顯示編輯器內類別、結構和集合聯集的記憶體配置,而不需要編譯。 當您將滑鼠停留在類型上方時,[記憶體配置] 連結會出現在 [快速資訊] 中。 按一下此連結會開啟一個視窗,其中顯示所選類型的記憶體配置,以及個別資料類型大小和位移的詳細資料。
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 開發人員社群來追蹤您的問題,您可以在其中新增留言或尋找解決方案。 您也可以透過我們的即時聊天支援取得免費的安裝協助。
部落格
善用「開發人員工具部落格」網站中的見解與建議,讓您能夠隨時取得所有新版本的最新資訊,以及涵蓋各類功能的深入探討文章。