Visual Studio 2022 17.1 版的版本資訊
提示
觀看 Visual Studio 2022 上市活動的錄製內容以了解新功能、聆聽提示及技巧,以及下載免費的數位 Swag。
開發人員社群 | Visual Studio 2022 藍圖 | 系統需求 | 相容性 | 可散發程式碼 | 版本歷程記錄 | 授權條款 | 部落格 | 最新版已知問題 | Visual Studio Docs 的新功能
Visual Studio 2022 17.1 版
支援時間範圍
此版本現在已不支援。 如需 Visual Studio 所支援基準的詳細資訊,請參閱 Visual Studio 2022 的支援原則。
請參閱最新版的版本資訊,或造訪 Visual Studio 網站以下載最新的 Visual Studio 2022 版本。
Visual Studio 2022 17.1 版的發行版本
- 2022 年 5 月 10 日 — Visual Studio 2022 17.1.7 版
- 2022 年 4 月 26 日 — Visual Studio 2022 17.1.6 版
- 2022 年 4 月 19 日 — Visual Studio 2022 17.1.5 版
- 2022 年 4 月 12 日 — Visual Studio 2022 17.1.4 版
- 2022 年 3 月 31 日 — Visual Studio 2022 17.1.3 版
- 2022 年 3 月 22 日 — Visual Studio 2022 17.1.2 版
- 2022 年 3 月 8 日 — Visual Studio 2022 17.1.1 版
- 2022 年 2 月 15 日 — Visual Studio 2022 17.1.0 版
Visual Studio 2022 部落格
Visual Studio 2022 部落格是由 Visual Studio 工程小組發行的官方產品見解。 您可以在下列文章中找到有關 Visual Studio 2022 版本的深入資訊:
Visual Studio 2022 封存版本資訊
Visual Studio 2022 17.1.7 版
2022 年 5 月 10 日發行
此 17.1.7 版中已解決的問題
- 已更新 Daytona 中的 webview2 基準。
開發人員社群的問題
資訊安全諮詢注意事項
CVE-2022-29117 .NET 拒絕服務弱點 .NET 6.0、.NET 5.0 和 .NET Core 3.1 中存在弱點,惡意用戶端可以操作 Cookie 並造成拒絕服務。
CVE-2022-23267 .NET Core 拒絕服務弱點 .NET 6.0、.NET 5.0 和 .NET Core 3.1 中存在弱點,惡意用戶端可能會透過 HttpClient 過度的記憶體配置造成拒絕服務。
CVE-2022-29145 .NET 拒絕服務弱點 .NET 6.0、.NET 5.0 和 .NET Core 3.1 中存在弱點,其中惡意用戶端在剖析 HTML 表單時可能會導致拒絕服務。
CVE-2022-24513 權限弱點提高當 Microsoft Visual Studio 更新程式服務不正確地剖析本機設定資料時,可能會有權限弱點提高。
Visual Studio 2022 17.1.6 版
2022 年 4 月 26 日發行
此 17.1.6 版中已解決的問題
- 已修正 C++ 編譯器 (CL.exe) 在執行程式碼分析位元列舉檢查時有時會當機的問題。
- 已修正 iPhone 模擬器 - 嚴重錯誤:無法載入檔案 'System.Memory' 的問題
- 已修正 17.0.8 版中的 VisualCPP SxS 的 vctip.exe 迴歸問題
- 已修正在 VisualCPP SxS 中阻止使用 Address Sanitizer (ASAN) 建置某些應用程式以在 Windows 11 中載入的錯誤。
- 已修正在 VisualCPP SxS 中的另一個 ASAN 問題,其中具有堆積爭用的多執行緒應用程式可能會遇到死結、錯誤的「野生指標釋放」報告,或在程序結束期間發生死結。
開發人員社群的問題
開發人員社群有一個在 17.1 版中可用的修正程式完整清單。
Visual Studio 2022 17.1.5 版
2022 年 4 月 19 日發行
此 17.1.5 版中已解決的問題
- 已修正 17.1.4 版中的 vctip.exe 迴歸問題
- 已修正「無法在離線電腦上安裝 Visual Studio 的任何擴充功能 (vsix)」的問題。
開發人員社群的問題
開發人員社群有一個在 17.1 版中可用的修正程式完整清單。
- Launch-VsDevShell 不再以 strict 模式運作
- 與 'wss://...' 的 WebSocket 連線失敗。 ASP .Net Core Web 應用程式。 更新 17.1 之後
Visual Studio 2022 17.1.4 版
2022 年 4 月 12 日發行
注意
由於更新了 Visual Studio 中的 Git 版本以解決安全漏洞 CVE-2022-24765,某些 Git 使用者可能會遇到阻止 Git 儲存庫在 Visual Studio 中顯示的錯誤。
以管理員使用者身分複製或建立存放庫,然後嘗試以非管理員身分檢視或使用它的使用者可能會受到此問題的影響。 如果您遇到此問題並信任您嘗試開啟的存放庫,則可以從命令提示字元、PowerShell 或可存取 Git for Windows 的終端機中執行下列命令,將其新增至安全的目錄清單中:
git config --global --add safe.directory <path-to-repository>
您可以在開發人員社群中找到完整的更新詳細資料並追蹤問題的更新資料。
此 17.1.4 版中已解決的問題
- 已修正在範本中呼叫 'new' 時無法透過引數相依查閱來找到正確的 'operator new' 函式的問題。
- 已修正 Windows Forms .NET Framework 設計工具的設計階段類型解析中會在其他方面導致設計工具載入失敗的問題。
- 修正了 "HotRestart.Tasks.DetectSigningIdentity" 工作意外失敗的問題。
- 已新增安裝程式命令列來移除未使用的通道。
已知問題
- 不支援同步處理 Apple 開發人員帳戶憑證和佈建設定檔,但打算用於內部部署的帳戶除外。 若要暫時解決此問題,請直接從 Apple 開發人員帳戶網站下載憑證和佈建設定檔。
開發人員社群的問題
資訊安全諮詢注意事項
CVE-2021-43877 ASP.NET Core 和 Visual Studio 特許權提升漏洞 ASP.NET Core 模組 (ANCM) 中存在特許權提升的漏洞,當 .NET Core、.NET 5 和 .NET 6 應用程式在 IIS 中託管時,該漏洞可能會允許提升特許權。
CVE-2022-24765 權限弱點提高 Git for Windows 中可能會有權限弱點提高,其中 Git 作業在搜尋 Git 目錄時,可能會在存放庫外執行。 Git for Windows 現在已更新為 2.35.2.1 版。
CVE-2022-24767 DLL 劫持弱點在 SYSTEM 使用者帳戶下執行解除安裝程式時,Git for Windows 安裝程式中會有潛在的 DLL 劫持弱點。 Git for Windows 現在已更新為 2.35.2.1 版。
CVE-2022-24513 權限弱點提高當 Microsoft Visual Studio 更新程式服務不正確地剖析本機設定資料時,可能會有權限弱點提高。
Visual Studio 2022 17.1.3 版
2022 年 3 月 31 日發行
此 17.1.3 版中已解決的問題
- 已引進對 Apple Xcode 13.3 的支援。
- 使用 Xcode 13.3 修正了 iOS IPA 產生器錯誤 (ERROR ITMS-90207)。
- 修正了無法將 <email> 帳戶與 Apple 開發人員入口網站同步的問題
- 修正了長時間 (超過一個小時) 使用 TFVC 時 Visual Studio 會停止回應/凍結的問題。
- 修正了從 Visual Studio SQL Server Data Tools 連線到 Azure SQL 受控實例時出現的錯誤訊息:「偵測到不相容的 SQL Server 版本」。
已知問題
- 使用 Visual Studio 2022 和 Apple Xcode 13.3 部署 iOS 應用程式時,會造成遠端 iOS 模擬器視窗出現空白/黑色螢幕的問題。 因應措施:在 [工具 - 選項] 功能表下的 [iOS 設定] 中停用「Windows 版的遠端 iOS 模擬器」核取方塊。 iOS 應用程式應該在 macOS 主機上正確地部署。
開發人員社群的問題
開發人員社群有一個在 17.1 版中可用的修正程式完整清單。
Visual Studio 2022 17.1.2 版
2022 年 3 月 22 日發行
此 17.1.2 版中已解決的問題
- 已修正會導致測試執行的某些動畫即使相關聯的測試執行完成也會在背景中執行的問題。 這會導致高重新整理頻率監視器上的速度變慢特別明顯。 修正程式應改善在高重新整理頻率監視器上使用 VS 的體驗。
- 停用在開啟 Visual Studio 時自動開啟 [堆疊追蹤總管] 視窗。 這仍然可以在選項中啟用。
- 已修正拖曳停駐文件索引標籤僅適用於停駐裝飾項 (而不適用於其他文件索引標籤) 的迴歸問題。
- 已修正零星連結器停止回應的問題。
開發人員社群的問題
開發人員社群有一個在 17.1 版中可用的修正程式完整清單。
- Windows Forms 5 設計工具預覽版無法存取螢幕讀取器
- 我無法取消最小化 Visual Studio
- TFS 錯誤:TF30063 您未獲授權
- 無法再妥善地將文件索引標籤拖放到文件索引標籤的特定位置
Visual Studio 2022 17.1.1 版
2022 年 3 月 8 日發行
此 17.1.1 版中已解決的問題
開發人員社群的問題
開發人員社群有一個在 17.1 版中可用的修正程式完整清單。
- 在 17.1.0 版的自訂命令中使用 CONFIG 時導致的 CMake->vcxproj 迴歸問題
- VSSDK:VS 17.1.0 預覽版 5.0 會在 IVsObjectManager.UnregisterLibMgr() 之後停止回應
資訊安全諮詢注意事項
CVE-2020-8927 弱點 .NET 5.0 和 .NET Core 3.1 中會有遠端程式碼執行弱點,其中 Brotli 程式庫 1.0.8 版之前會有緩衝區溢位。
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 緩衝區溢位弱點 Git for Windows 所取用的 OpenSSL 中會有潛在的緩衝區溢位弱點。 Git for Windows 現在已更新為 2.35.1.2 版,可解決此問題。
Visual Studio 2022 17.1.0 版
2022 年 2 月 15 日發行
此 Visual Studio 2022 版本 17.1.0 的新增功能摘要
C++
- 已新增新的設定預設範本,以使用 CMakePresets.json 在遠端 macOS 系統上設定和建置 CMake 專案。 您也可以在遠端 macOS 系統上啟動 CMake 目標,並使用 GDB 或 LLDB 支援的 Visual Studio 偵錯工具前端來進行偵錯。
- 您現在可以使用 LLDB 或 GDB 從 Visual Studio 中對遠端 macOS 系統上的核心傾印進行偵錯。
- Visual Studio 中隨附的 Clang 和 LLVM 版本已升級至 v13。
- Visual Studio 的 CMake 整合只有在開啟的工作區的根目錄中找到 CMakeLists.txt 檔案時才會啟動。 如果在該工作區的其他層中找到 CMakeLists.txt,則系統會發出通知來提示您啟動 Visual Studio 的 CMake 整合。
- 已針對內嵌目標新增了一個新的暫存器視覺化視窗 (可透過 [偵錯 > Windows > 內嵌暫存器] 取得)。
- 已針對 RTOS 專案新增了一個新的執行緒檢視 (可透過 [偵錯 > Windows > RTOS 物件] 取得)。
偵錯與診斷
- 已新增了一個名為 StickyDataTips 的新功能 (也就是說,您現在可以保持 DataTips 展開的狀態,直到您按一下離開為止)。 這提供了一個非常簡單的方法來評估 DataTips 中的物件。 若要啟用此功能,請核取 [工具 > 選項 > 偵錯 > 一般] 下的 [保持展開的 DataTips 開啟的狀態,直到按一下離開為止] 核取方塊。
- 已新增對「Microsoft Azure 應用程式服務附加至處理序」的支援。
編輯器
- 現在可以將「程式碼清除」功能設定為每當明確儲存檔案時執行。 在 [文字編輯器 > 程式碼清除] 下的 [工具 > 選項] 中,有一個新選項可讓使用者在明確儲存時啟用「程式碼清除」功能,以及選取要執行的設定檔。 請注意,此選項不會讓「程式碼清除」功能在自動儲存時執行。
Git 工具
- 已在 Visual Studio 中新增了比較分支的功能。
- 已引入分離頭狀態的增強功能,包括簽出認可的能力。
- 多重存放庫分支增強功能,包括同時跨不同存放庫建立分支的能力 (預覽功能)。
- 已新增在 Visual Studio 中建立新 Git 存放庫時包含 README 檔案的功能。
- 已增強使用暫留按鈕固定常用分支的能力。
- 已建置一個更可探索的 UI 來將工作項目與新的認可相關聯。
IDE
- 已新增切換色彩配置以按 [檔案副檔名] 或 [專案] 為索引標籤著色的功能。
- 已新增啟用色彩索引標籤時自訂索引標籤色彩的功能。 以滑鼠右鍵按一下色彩索引標籤,然後選取 [設定索引標籤色彩]。
安裝與更新
- 我們已減少安裝之後所需的重新開機次數。
- 需要重新開機通常是由於在其使用時更新系統目錄中的 Visual C++ 執行階段檔案而導致的。 這些檔案通常會正確更新;只需要重新開機來清除已取代的檔案。 在這些情況下,VS Installer 現在會顯示一個建議的重新開機對話方塊。
- 當該建議的重新開機對話方塊顯示時,客戶可能會立即啟動 Visual Studio IDE (而不重新開機)。
- 已將 LTSC 通道到期日的相關資訊新增至 [更新設定] 對話方塊。
- 已新增以程式設計方式變更更新來源位置的功能 (與實際執行更新無關)。 這可讓 IT 系統管理員能夠以程式設計方式來變更更新通道。
Microsoft Azure 應用程式服務附加至處理序
- 現在您可以附加到用於 Windows 應用程式服務的.NET (Framework、Core 或 5+),而無需開啟解決方案或專案。 開啟 [附加至處理序] 對話方塊 > 將連線類型變更為 Microsoft Azure 應用程式服務 > 選取 [尋找] > 選取您的訂閱,然後在資源群組下找到您的應用程式服務並選擇 [確定]。 找到您要連線的處理序並選取 [附加]。
Microsoft Teams 開發人員工具
- 「Teams 工具組」是一個 Visual Studio 擴充功能,可協助開發人員建立 Microsoft Teams 的體驗,它屬於 Microsoft Teams 架構 (TeamsFx) 的一部分。 請在 GitHub 和 Microsoft Teams 文件中深入了解「Teams 工具組」和 TeamsFx 的其他資訊。
- 您現在可以在 Visual Studio 安裝程式的 ASP.NET Web 開發工作負載中選擇 Microsoft Teams 開發工具元件。
- 安裝此元件會新增「Teams 工具組」擴充功能。 使用新的 Microsoft Teams 應用程式專案範本來開始建立新的 Teams 索引標籤應用程式。
.NET 生產力
現在,在可等候的運算式內有
await
的 IntelliSense 完成功能。 開始輸入一個可等候的運算式,並注意await
現在將如何顯示在完成清單中。現在有一個重構功能,可將靜態成員移至新的類型。 將游標放在靜態成員上。 按 (Ctrl+.) 以觸發 [快速動作與重構] 功能表。 選取 [將靜態成員移至另一個類型...]。這會開啟一個對話方塊,您可以在其中選取您想要移動的成員。
現在有一個重構功能,可以簡化程式碼以使用新的 C# 10.0 擴充屬性模式。 使用擴充屬性模式可減少雜訊,讓您能夠引用嵌套成員,而不是嵌套另一個遞迴模式。 將游標放在巢狀成員參考上。 按 (Ctrl+.) 以觸發 [快速動作與重構] 功能表。 選取 [簡化屬性模式]。
現在有一個重構功能,可以偵測變數交換並建議使用元組來交換值,因此您可以使用元組 (而不是使用暫存變數) 來交換引數。 將游標放在您要交換值的暫存變數指派上。 按 (Ctrl+.) 以觸發 [快速動作與重構] 功能表。 選取 [使用元組來交換值]。
[程式碼定義視窗] 現在支援 C# 和 Visual Basic。 若要使用 [程式碼定義視窗],請按 (Ctrl+W,D) 或選取 [檢視 > 程式碼定義視窗]。 接下來,將游標放在識別碼上,以瀏覽和探索程式碼。
現在有一個重構功能,可跨專案啟用可為 Null 的參考型別。 您可以透過將
<Nullable>
enable</Nullable>
元素新增至專案檔,或將 #nullable enable pragma 新增至專案中的每個來源檔,來啟用可為 Null 的參考型別。 為了協助簡化此程序,我們現在會自動為新的 .NET 專案包含<Nullable>
enable</Nullable>
。 對於現有的 .NET 專案,您可以將游標放在 #nullable enable pragma 上來啟用可為 Null 的參考型別。 按 (Ctrl+.) 以觸發 [快速動作與重構] 功能表。 選取 [在專案中啟用可為 Null 的參考型別]。「簽章說明」已在元組在簽章內多次出現時改進了其顯示。 簡化的檢視包含結構型別索引鍵,以顯示元組中所包含的內容。
現在,您可以透過「內嵌診斷」一目了然地了解錯誤和警告,而無需將游標停留在一行程式碼上。 預設會停用「內嵌診斷」,因此您必須在 [工具 > 選項 > 文字編輯器 > C# 或基本 > 進階] 中啟用它,然後選取 [顯示內嵌診斷 (實驗性)]。
如果參考組件有內嵌來源或來源連結,我們現在會將內嵌來源和來源連結呈現為 [移至定義] 的一部分。 這可讓您瀏覽至宣告目標符號的原始來源檔案。 將游標放在符號上,然後按 F12 以瀏覽至原始的來源檔案。
現在有一個 [堆疊追蹤總管] 視窗會顯示剪貼簿中的堆疊追蹤,可讓您按一下並直接瀏覽至相關的程式碼。 根據預設,如果您從解決方案複製堆疊追蹤,然後將焦點切換至 [堆疊追蹤總管] 視窗,則該堆疊追蹤會自動出現。 若要開啟 [堆疊追蹤總管] 視窗,請移至 [檢視 > 其他視窗],然後選取 [堆疊追蹤總管]。
在 Visual Studio 2019 中,我們引進了一個新的 EditorConfig UI。 EditorConfig 檔案有助於藉由定義程式碼樣式和格式,保持您的程式碼一致。 這些檔案可以與您的程式碼一起存放在其存放庫中,並使用相同的原始程式碼控制。 這樣,對於您小組中從該存放庫複製的每個人來說,樣式指引都是相同的。 在此版本中,我們已將「命名樣式」新增至 EditorConfig UI。 若要將 EditorConfig 檔案新增至專案或解決方案,請以滑鼠右鍵按一下 [方案總管] 內的專案或解決方案名稱。 選取 [新增項目]。 在 [新增項目] 對話方塊中,搜尋 EditorConfig。 選取 .NET EditorConfig 範本,以新增預先填入預設選項的 EditorConfig 檔案。 請注意新的 EditorConfig UI 和新的「命名樣式」選項。
其他改善
- 從 PDB 中的來源資訊移至 [定義]。
- 在可等候的運算式內有
await
的 IntelliSense 完成功能。 - 將靜態成員移至新的型別重構。
- 簡化程式碼以使用新的 C# 10.0 擴充屬性模式重構。
- 偵測變數交換並建議使用元組來交換值重構。
- 對 C# 和 Visual Basic 的程式碼定義視窗支援。
- 跨專案重構啟用可為 Null 的參考型別。
- 「簽章說明」簡化了在元組在簽章內多次出現時的檢視改善。
- 使用內嵌診斷一目了然地瞭解錯誤和警告。
謝謝
- 最後的重要事項:由衷「感謝」本月度為 .NET 生產力有所貢獻的下列人員 (別名Roslyn):
- Youssef Victor (@Youssef1313):
- Petr Onderka (@svick):
- 不建議簡化位置模式 PR #57676
- Saleh Ahmed Panna (@panna-ahmed)
- 本地化遺漏的警告訊息 PR #57502
- Pavel Krymets (@pakrym)
- 不要規範程式碼註解中的前導空格 PR #57414
- Kev Ritchie (@KevRitchie)
- 更新文件以說明 FullyQualifiedFormat 行為 PR #57397
- Marcio A Braga (@MarcioAB)
- 更新 TextSpan.cs PR #57300
- Bernd Baumanns (@bernd5)
- 修正了「函式指標呼叫具有「無」IOperation」的問題 PR #57191
- Martin Strecker (@MaStr11):
- CS1591 的 Codefix:新增 inheritdoc PR #57004
- Paul M Cohen (@paul1956):
- 問題「VB 的 LineContinuation 格式在 _ ' 註解後錯誤」問題的初步修正 PR #54559
.NET 熱重新載入
- 針對建置 Blazor 應用程式的開發人員,對 .NET 熱重新載入進行多項改善,包括下列問題的解決方案:
- 建置 WebAssembly (Wasm) 應用程式的 Blazor 開發人員有時會在實際套用變更時看到粗魯的編輯對話方塊,或看到粗魯的編輯對話方塊出現多次。
- 如果建置 WebAssembly (Wasm) 應用程式的 Blazor 開發人員使用粗魯編輯對話方塊的重建功能,然後嘗試變更 Razor 檔案,則會進入永久的粗魯編輯狀態。
- Blazor 開發人員有時會在透過 Visual Studio 偵錯工具 (F5) 執行其應用程式時看到其熱重新載入工作階段終止。
- 如果 Blazor 開發人員嘗試編輯 error.cshtml 檔案並使用 .NET 熱重新載入對其套用變更,則會看到 Visual Studio 偵錯工具中斷並顯示「無法停止偵錯...」訊息。 隨著我們努力提高此特性的功能和穩定性,Visual Studio 的未來版本中將修正更多的錯誤。 如果您遇到任何問題,請使用 Visual Studio 的「報告問題」功能來進行報告。
效能
- 透過優化關閉解決方案時的清除作業,提高解決方案關閉效能。
- Visual Studio 現在對程式碼基底中的檔案進行索引編製,以提供更快的「在檔案中尋找」的搜尋體驗。 在 [工具 > 選項 > 環境 > 預覽功能] 中停用索引搜尋,並切換 [啟用索引編制以加快尋找體驗]。
Razor (ASP.NET Core) 編輯器
- Razor 現在會在快速動作需要時新增遺漏的 using 指示詞。
解決方案篩選
- 已新增了一個選項來載入或重新載入 [解決方案篩選器] 中專案的整個相依性樹狀結構。 當新專案新增至相依性樹狀結構但尚未手動新增至 [解決方案篩選器] 時,您可以輕鬆地一次新增所有相依性。
- 此選項 (更新專案相依性) 位於解決方案節點的捷徑功能表中 (以滑鼠右鍵按一下方案總管中的方案)。
測試工具
- 現在,當測試作業正在進行時,測試動畫會顯示在 Visual Studio 殼層的底部。 它類似於建置動畫,讓您知道 Visual Studio 正在處理什麼,並為您提供處理程序尚未當機的指示。
- 程式碼涵蓋範圍工具現在可以產生 cobertura 程式碼涵蓋範圍格式。 您可以藉由在 runsettings 檔中的 DataCollector 組態區段中新增
<Format>Cobertura</Format>
以在 runsettings 中啟用此功能。 您可以在 Visual Studio Enterprise 的程式碼涵蓋範圍結果視窗中檢視此格式。 - 您也可以在 runsettings 檔中指定它或在參數中指定它,以從 cli 中使用 cobertura 格式進行收集。 針對 dotnet cli,請使用
dotnet test --collect:"Code Coverage;Format=Cobertura"
。 針對 vstest,請使用vstest.console.exe /collect:"Code Coverage;Format=Cobertura"
。 collect 參數會覆寫 runsettings 中指定的格式。
Web 工具
- 在佈建和選取 Azure 資源時,Visual Studio 會記住您先前為「資源群組」和「位置」欄位所做的選擇,而不是始終預設為清單中的第一個項目。 即使先前的選擇無法使用,Visual Studio 現在也會計算最近的地理位置並預設挑選該地理位置。
- 現在,發佈設定檔始終會按字母順序列在 [發佈摘要] 頁面頂部的下拉式清單中,以及 Visual Studio 工具列中名為「Web 單鍵發佈」的下拉式清單中。
- Azure 容器應用程式的工具支援仍保留在 Visual Studio 預覽通道中。 若要繼續使用 Azure 容器應用程式,請安裝 17.2 Preview 1 版本。
XAML 熱重載
- 當與 .NET 熱重新載入一起使用時,XAML 熱重新載入現在支援更多的端對端案例。 我們已啟用下列案例:對於 WPF 和 WinUI 3 應用程式:
- XAML 程式碼編輯器現在會正確顯示由 IntelliSense 中的 .NET 熱重新載入作業所建立的新建立的控制項類型和屬性。
- 現在,使用 .NET 熱重新載入繫結到新建立的屬性會如預期般運作。 對於 WinUI,您現在也可以使用 x:Bind 繫結到新屬性。 對於 WPF 應用程式:
- 現在可以為使用 .NET 熱重新載入建立的事件處理常式新增剛建立的方法。 注意:雖然上述案例適用於先使用 .NET 熱重新載入套用類型,然後再使用 XAML 熱重新載入,但存在一個已知的限制。 例如,如果您將使用 XAML 熱重新載入的新屬性新增至一個尚未建立的屬性,然後只使用 .NET 熱重新載入來建立它,則 XAML 變更不會看到新的屬性。 我們知道這個問題,並希望在未來加以改進。
XAML 即時預覽
- 我們已對尺規、縮放和元素選取行為進行了數項改進。
- [XAML 即時預覽] 現在支援 .NET MAUI 應用程式 (WinUI 和 Android),但仍限於可用的 .NET MAUI。
在此版本中,我們已對 [XAML 即時預覽] 進行了數項改進,變更包括:
.NET MAUI 支援 (WinUI 和 Android 模擬器):現在支援作為 WinUI 3 應用程式執行或在 Android 模擬器中執行的 .NET MAUI 應用程式。
(注意:並非每個版本的 Visual Studio 都已支援 .NET MAUI,因此從 17.1 開始內建的這項功能僅在提供 .NET MAUI 的版本中可用)
尺規變更: 尺規現在可以根據您的應用程式組態從右到左或從左到右正確顯示像素指示器。 元素選取變更: 現在,使用 [XAML 即時預覽] 中的「選取元素」功能現在一律會巡覽至來源。 先前這是一個可設定的選項,但在此版本中已將其移除,而且行為已標準化以避免混淆。 縮放改善: 縮放下拉式清單現在支援自動「適合全部」、「適合寬度」或「適合高度」,以便更輕鬆地縮放這些情境。 此外,您仍然可以與此新功能一起使用一般百分比縮放或滾輪。
17.2 版中已解決的問題
- 已修正 [資料集自訂偵錯工具視覺化檢視] 不適用於遠端和 Azure App Service 偵錯案例的問題。
- 已新增對取消擱置中「熱重新載入」作業的支援。
- 已修正「Xamarin 熱重新開機」的增量部署問題。
- 已修正並啟用程式碼鏡頭對 TFS 的支援。
- 已修正在 Razor 和 LiveShare 案例中導致程式碼著色不一致的錯誤。
- Visual Studio 在針對 macOS 系統上的 CMake 專案時改進了 C++ IntelliSense 的功能。 Visual Studio 現在會在搜尋 C++ 標頭時處理 CMake 的 CMAKE_OSX_SYSROOT 變數。
- 已修正在結合 /openmp:llvm 和 /ZI 時使用 omp 工作會導致編譯器當機或以無訊息方式產生錯誤程式碼的幾個問題。
- 已修正停用「快速部署」時偵錯 Android 應用程式的問題。
- 已更正使用 /experimental:definistic、/pathmap 和 /clr 時導致 C2567 的問題。
- 修正了在使用 /RTC 旗標時 ARM64X 的 Thunk 產生的當機問題。
- 連結時不要裝飾已裝飾的 ARM64EC 符號。
- 我們已修正了 Azure 容器應用程式工作流程產生的問題 (其中若已存在同名的服務主體,服務主體產生就會失敗)。
- 已將 <=> 和 == 運算子新增至 ATL CString。
- 更新連結器旗標資料表,以允許 -cgthreads 和 -pdbthreads 在 GENRROFILE 和 USEPROFILE 階段之間有所不同。
- 已修正使用 ClickOnce 發佈包含 x86 COM 參考的問題。
- 修正了 VS 當機錯誤 (在 [管理 Docker Compose Launch 設定] 對話方塊中新增多個啟動設定檔時)。
- 修正了 Xamarin.Android 應用程式中
no-write-symbols,nodebug
AOT 組件的封裝問題。 - C# 編譯器會在特定案例中產生不正確的 codegen 或當機,並在解構指派中使用插入字串處理常式和從端索引子。 這些問題現已修正。 如需詳細資訊,請參閱 https://github.com/dotnet/roslyn/issues/58514 和 https://github.com/dotnet/roslyn/issues/58569。
- 修正了當 WinForms .NET 設計工具開啟並對專案執行某些作業時間歇性 VS 當機的問題。
- 將 ARM64EC 新增至 link.exe 的 /MACHINE 選項。
- 已修正有時候 CMake 工作區設定檔的變更不會生效的問題。
- 在某些情況下,將背景工作服務發佈至 Azure 容器應用程式會以無訊息方式失敗。
- 已修正 Visual Studio 無法在 Windows 7 電腦上啟動的問題。
開發人員社群的問題
- 我經常必須強制 kill devenv.exe 來關閉 VS,因為環境被鎖定在編輯狀態並且沒有任何執行而繼續
- Razor 工具:Disco 色彩保存
- 「內嵌取代」將焦點放在錯誤的輸入
- MSB3179:隔離 COM 參考 'SMTLib' 時發生問題:未偵測到此元件的已註冊類別
- 無法搭配螢幕助讀取器使用新的 [專案偵錯屬性] 視窗。
- 熱重新載入不適用於 .NET 網站專案中的 .cshtml 檔案
- 「來源產生器」所產生的程式碼會紅色以波浪線標示,但編譯正常
- 需要完善雙向文字控制選項
- 嘗試透過 [管理 Docker Compose 設定] 新增啟動設定檔會導致 Visual Studio 2022 當機。
- 「來源產生器 Intellisense」無法處理用戶端專案
- iOS 15 熱重新啟動因內嵌字型和一些額外的元件 (如 Firebase) 而失敗
- 使用 UE5 Early Access 在 Visual Studio 中緩慢「移至定義」(讓 IntelliSense 在大型專案中運作)
- Visual studio 2022 + Xamarin + SignalR 中的錯誤 (找不到方法)
- Git 存放庫視窗使用錯誤的日期格式 (VS 2022 中的迴歸)
- Visual Studio 遇到非預期的問題
- Visual Studio 2022 Preview 7 卡在「正在等待 IntelliSense 完成初始化...」
- System.InvalidOperationException:沒有擱置中的更新
- 如果編譯單一 cpp,UseMultiToolTask 會導致 C++ 先行編譯標頭檔中的變更偵測中斷
- 無法解析符號 '“WebAssembly”'
- 在 blazor 頁面 (*.razor) 中,將分號新增至 c# 程式碼行會導致游標跳躍
- PackageId:Microsoft.VisualStudio.TestWindow.SourceBasedTestDiscovery;PackageAction:Install;ReturnCode:-2147024690;
- 模組:匯入模組時 std::any 在重要程式碼中斷
- ARM64:當編譯器決定以值傳遞時,程式碼產生不正確
- 在最大平行編譯作業數 >1 的 WSL 上編譯時發生錯誤
- 當邏輯“||”可能是有意的時使用位元“|”
- Visual Studio 2019 16.10.X 版中的「尋找所有參考」功能
- 已修正使用 ClickOnce 發佈包含 x86 COM 參考的問題
- Visual Studiof 升級中斷了套件編譯
- 使用 C++ 進行 Linux 開發 - 內部動態連結錯誤
- 未正確剖析不含 Doxygen 標籤的註解
- 命名空間內部的本機宣告連結錯誤
- launch.vs.json 的預先定義巨集
- [方案總管] 不會顯示 power Shell 檔案圖示
- C26440 誤判函式可以宣告為 'noexcept'
- C++:std::is_empty 對於範本專業化是不正確
- VC++ for Linux:在複製來源之前執行遠端預先建置事件
- 使用 .Net 6 + VS Community 2022 進行 Blazor 伺服器和 CSS 隔離
請參閱此版本中開發人員社群修復的完整清單。
已知問題
遵循以下連結,查看所有已知問題和 Visual Studio 2022 中可用的因應措施。
意見反應與建議
我們很希望聽聽您的意見! 您可以回報問題或建議功能,方法是使用安裝程式或 Visual Studio IDE 右上角的 [傳送意見反應] 圖示,或從 [說明] > [傳送意見反應]。 您可以使用 Visual Studio 開發人員社群來追蹤您的問題,您可以在其中新增留言或尋找解決方案。 您也可以透過我們的即時聊天支援取得免費的安裝協助。
部落格
善用「開發人員工具部落格」網站中的見解與建議,讓您能夠隨時取得所有新版本的最新資訊,以及涵蓋各類功能的深入探討文章。