Visual Studio 2019 16.0 版的版本資訊Visual Studio 2019 version 16.0 Release Notes
開發人員社群 | 系統需求 | 相容性 | 可散發程式碼 | 授權條款 | 部落格 | 最新版本的已知問題Developer Community | System Requirements | Compatibility | Distributable Code | License Terms | Blogs | Latest Release Known Issues
按一下按鈕以下載最新版的 Visual Studio 2019。Click a button to download the latest version of Visual Studio 2019. 如需安裝和更新 Visual Studio 2019 的指示,請參閱將 Visual Studio 2019 更新至最新版本。For instructions on installing and updating Visual Studio 2019, see the Update Visual Studio 2019 to the most recent release. 此外,請參閱如何離線安裝上的指示。Also, see instructions on how to install offline.
Visual Studio 2019 16.0 版的新功能What's New in Visual Studio 2019 version 16.0
支援時間範圍Support Timeframe
Visual Studio 2019 16.0 版現已不支援。Visual Studio 2019 version 16.0 is now out of support.
支援 Visual Studio 2019 16.0 版的企業和專業使用者,且已于年1月2021之前收到安全性弱點的修正。Enterprise and Professional users of Visual Studio 2019 version 16.0 were supported and did receive fixes to security vulnerabilities through January 2021. 此時間範圍是由 2019 年 12 月的下列事實決定:Visual Studio 2019 16.4 版已指定為 Visual Studio 2019 產品的最終服務基準。This timeframe was determined by the fact that in December 2019, Visual Studio 2019 version 16.4 was designated as the next servicing baseline to the Visual Studio 2019 product. 如需 Visual Studio 所支援基準的詳細資訊,請參閱 Visual Studio 2019 的支援原則。For more information about Visual Studio supported baselines, please review the support policy for Visual Studio 2019.
Visual Studio 2019 16.0 版Visual Studio 2019 version 16.0 Releases
- 2021年1月12日 — 最終發行 @mdash Visual Studio 16.0.22January 12, 2021 — Final Release @mdash Visual Studio 16.0.22
- 2020 年 12 月 8 日 — Visual Studio 16.0.21December 08, 2020 — Visual Studio 16.0.21
- 2020 年 11 月 10 日 — Visual Studio 16.0.20November 10, 2020 — Visual Studio 16.0.20
- 2020 年 10 月 13 日—Visual Studio 16.0.19 版October 13, 2020 — Visual Studio 16.0.19
- 2020 年 9 月 8 日— Visual Studio 16.0.18September 8, 2020 — Visual Studio 16.0.18
- 2020 年 8 月 11 日 — Visual Studio 16.0.17August 11, 2020 — Visual Studio 16.0.17
- 2020 年 7 月 14 日 — Visual Studio 16.0.16 版July 14, 2020 — Visual Studio 16.0.16
- 2020 年 6 月 9 日 - Visual Studio 16.0.15June 09, 2020 — Visual Studio 16.0.15
- 2020 年 5 月 12 日 — Visual Studio 16.0.14May 12, 2020 — Visual Studio 16.0.14
- 2020 年 4 月 14 日 — Visual Studio 16.0.13 版April 14, 2020 — Visual Studio 16.0.13
- 2020 年 3 月 10 日 —Visual Studio 16.0.12March 10, 2020 — Visual Studio 16.0.12
- 2020 年 1 月 14 日 — Visual Studio 16.0.11 版January 14, 2020 — Visual Studio 16.0.11
- 2019 年 12 月 10 日 —Visual Studio 16.0.10 版December 10, 2019 — Visual Studio 16.0.10
- 2019 年 10 月 15 日—Visual Studio 16.0.9 版October 15, 2019 — Visual Studio 16.0.9
- 2019 年 9 月 10 日 —Visual Studio 16.0.8 版September 10, 2019 — Visual Studio version 16.0.8
- 2019 年 8 月 13 日 —Visual Studio 16.0.7 版August 13, 2019 — Visual Studio version 16.0.7
- 2019 年 7 月 9 日 —Visual Studio 16.0.6 版July 9, 2019 — Visual Studio version 16.0.6
- 2019 年 6 月 11 日—Visual Studio 16.0.5 版June 11, 2019 — Visual Studio version 16.0.5
- 2019 年 5 月 14 日 —Visual Studio 2019 16.0.4 版May 14, 2019 — Visual Studio 2019 version 16.0.4
- 2019 年 4 月 30 日 —Visual Studio 2019 16.0.3 版April 30, 2019 — Visual Studio 2019 version 16.0.3
- 2019 年 4 月 18 日 —Visual Studio 2019 16.0.2 版April 18, 2019 — Visual Studio 2019 version 16.0.2
- 2019 年 4 月 09 日 —Visual Studio 2019 16.0.1 版April 09, 2019 — Visual Studio 2019 version 16.0.1
- 2019 年 4 月 02 日 —Visual Studio 2019April 02, 2019 — Visual Studio 2019
Visual Studio 2019 部落格Visual Studio 2019 Blog
Visual Studio 2019 部落格 是由 Visual Studio 工程小組發行的官方產品見解。The Visual Studio 2019 Blog is the official source of product insight from the Visual Studio Engineering Team. 您可以在該部落格找到 Visual Studio 2019 版的相關深入資訊。You can find in-depth information about the Visual Studio 2019 releases there.
Visual Studio 2019 16.0.22 版Visual Studio 2019 version 16.0.22
發行於 2020 年 1 月 12 日released January 12, 2020
16.0.22 中修正的問題Issues fixed in 16.0.22
16.0.22 資訊安全諮詢注意事項Security Advisory Notice for 16.0.22
CVE-2021-1651 / CVE-2021-1680:診斷中樞標準收集器服務權限提高弱點 CVE-2021-1651 / CVE-2021-1680 Diagnostics Hub Standard Collector Service Elevation of Privilege Vulnerability
當診斷中樞標準收集器未正確處理資料作業時,即會存在權限提升弱點。An elevation of privilege vulnerability exists when the Diagnostics Hub Standard Collector incorrectly handles data operations.
CVE-2020-26870 Visual Studio 安裝程式遠端程式碼執行弱點 CVE-2020-26870 Visual Studio Installer Remote Code Execution Vulnerability
當 Visual Studio 安裝程式嘗試顯示惡意 Markdown 時,即會存在遠端程式碼執行弱點。A remote code execution vulnerability exists when the Visual Studio Installer attempts to show malicious markdown.
Visual Studio 2019 16.0.21 版Visual Studio 2019 version 16.0.21
發行於 2020 年 12 月 8 日released December 08, 2020
16.0.21 中修正的問題Issue fixed in 16.0.21
16.0.21 資訊安全諮詢注意事項Security Advisory Notice for 16.0.21
CVE-2020-17156 Visual Studio 遠端程式碼執行弱點 CVE-2020-17156 Visual Studio Remote Code Execution Vulnerability
當 Visual Studio 複製惡意存放庫時,就會存在遠端程式碼執行弱點。A remote code execution vulnerability exists when Visual Studio clones a malicious repository.
Visual Studio 2019 16.0.20 版Visual Studio 2019 version 16.0.20
2020 年 11 月 10 日發行released November 10, 2020
16.0.20 中修正的問題Issue fixed in 16.0.20
16.0.20 資訊安全諮詢注意事項Security Advisory Notice for 16.0.20
CVE-2020-17100 Visual Studio 竄改弱點 CVE-2020-17100 Visual Studio Tampering Vulnerability
當適用於 Visual Studio 的 Python 工具建立 [python27] 資料夾時,會存在竄改弱點。A tampering vulnerability exists when the Python Tools for Visual Studio creates the python27 folder. 攻擊者若成功探索此弱點,即可在權限提升的內容中執行處理序。An attacker who successfully exploited this vulnerability could run processes in an elevated context.
Visual Studio 2019 16.0.19 版Visual Studio 2019 version 16.0.19 
發行於 2020 年 10 月 13 日released October 13, 2020
在此版 16.0.19 中In this Release of 16.0.19
- .NET Code SDK 2.1.616 已新增至 Visual Studio 2019。.NET Code SDK 2.1.616 added to Visual Studio 2019.
Visual Studio 2019 版本 16.0.18Visual Studio 2019 version 16.0.18
2020 年 9 月 8 日發行released September 8, 2020
16.0.18 中修正的問題Issues fixed in 16.0.18
- 若已從 Visual Stuidio 安裝程式中移除,則不受支援的 .NET Core 版本將不會再於修復或升級期間重新安裝。Out of support versions of .NET Core will no longer be reinstalled during a repair or upgrade if they were removed outside of VS setup.
16.0.18 資訊安全諮詢注意事項Security Advisory Notice for 16.0.18
CVE-2020-1130 診斷中樞標準收集器權限提升弱點 CVE-2020-1130 Diagnostics Hub Standard Collector Elevation of Privilege Vulnerability
當診斷中樞標準收集器未正確處理資料作業時,即會存在權限提升弱點。An elevation of privilege vulnerability exists when the Diagnostics Hub Standard Collector improperly handles data operations. 攻擊者若成功探索此弱點,即可在權限提升的內容中執行處理序。An attacker who successfully exploited this vulnerability could run processes in an elevated context.
CVE-2020-1133 診斷中樞標準收集器服務權限提升弱點 CVE-2020-1133 Diagnostics Hub Standard Collector Elevation of Privilege Vulnerability
當診斷中樞標準收集器未正確處理檔案作業時,即會存在權限提升弱點。An elevation of privilege vulnerability exists when the Diagnostics Hub Standard Collector improperly handles file operations. 攻擊者若成功探索此弱點,即可在權限提升的內容中執行處理序。An attacker who successfully exploited this vulnerability could run processes in an elevated context.
CVE-2020-16856 Visual Studio 遠端程式碼執行弱點 CVE-2020-16856 Visual Studio Remote Code Execution Vulnerability
當 Visual Studio 未正確處理記憶體中的物件時,即會存在遠端程式碼執行弱點。A remote code execution vulnerability exists in Visual Studio when it improperly handles objects in memory. 成功惡意探索弱點的攻擊者可以在目前使用者的內容中執行任意程式碼。An attacker who successfully exploited the vulnerability could run arbitrary code in the context of the current user.
CVE-2020-16874 Visual Studio 遠端程式碼執行弱點 CVE-2020-16874 Visual Studio Remote Code Execution Vulnerability
當 Visual Studio 未正確處理記憶體中的物件時,即會存在遠端程式碼執行弱點。A remote code execution vulnerability exists in Visual Studio when it improperly handles objects in memory. 成功惡意探索弱點的攻擊者可以在目前使用者的內容中執行任意程式碼。An attacker who successfully exploited the vulnerability could run arbitrary code in the context of the current user.
CVE-2020-1045 Microsoft ASP.NET Core 安全性功能略過弱點 CVE-2020-1045 Microsoft ASP.NET Core Security Feature Bypass Vulnerability
Microsoft ASP.NET Core 剖析已編碼 Cookie 名稱的方式有安全性功能略過弱點。A security feature bypass vulnerability exists in the way Microsoft ASP.NET Core parses encoded cookie names. ASP.NET Core Cookie 剖析器會將整個 Cookie 字串解碼,這可能會讓惡意攻擊者設定以百分比將名稱編碼的第二個 Cookie。The ASP.NET Core cookie parser decodes entire cookie strings which could allow a malicious attacker to set a second cookie with the name being percent encoded.
Visual Studio 2019 16.0.17 版Visual Studio 2019 version 16.0.17
發行於 2020 年 8 月 11 日released August 11, 2020
16.0.17 版中修正的問題Issue fixed in 16.0.17
16.0.17 版資訊安全諮詢注意事項Security Advisory Notice for 16.0.17
CVE-2020-1597 ASP.NET Core 拒絕服務弱點 CVE-2020-1597 ASP.NET Core Denial of Service Vulnerability
當 ASP.NET Core 不正確地處理 Web 要求時,就存在拒絕服務弱點。A denial of service vulnerability exists when ASP.NET Core improperly handles web requests. 成功惡意探索此弱點的攻擊者可能會導致 ASP.NET Core Web 應用程式面臨阻斷服務攻擊。An attacker who successfully exploited this vulnerability could cause a denial of service against an ASP.NET Core web application. 不需要驗證即可從遠端惡意探索此弱點。The vulnerability can be exploited remotely, without authentication.
Visual Studio 2019 16.0.16 版Visual Studio 2019 version 16.0.16 
發行於 2020 年 7 月 14 日released July 14, 2020
16.0.16 中修正的問題Issues fixed in 16.0.16
- 修正了適用於使用 v15.9 呼叫虛擬函式的編譯器 CodeGen 迴歸 (英文)Fixed Compiler CodeGen regression for calling a virtual function with v15.9
- 修正了在使用雨傘程式庫,但 DLL 名稱結尾大小寫不同時,C++ 連結器遺漏匯入的 Bug。Fixed a bug in the C++ linker missing imports when using umbrella LIBs with difference casing on postfix of DLL name.
- 修正了 ARM64 C++ 編譯器中可在 setjmp 之後還原錯誤值的 Bug。Fixed a bug in the ARM64 C++ compiler where the wrong values could be restored after setjmp.
16.0.16 版資訊安全諮詢注意事項Security Advisory Notice for 16.0.16
CVE-2020-1393 診斷中樞標準收集器服務權限弱點提高 CVE-2020-1393 Diagnostics Hub Standard Collector Service Elevation of Privilege Vulnerability
當 Windows 診斷中樞標準收集器無法適當處理輸入時,即會造成權限弱點提高,因而導致不安全的程式庫載入行為。An elevation of privilege vulnerability exists when the Windows Diagnostics Hub Standard Collector Service fails to properly sanitize input, leading to an unsecure library-loading behavior.
CVE-2020-1416 Visual Studio 權限弱點提高 CVE-2020-1416 Visual Studio Elevation of Privilege Vulnerability
當 Visual Studio 載入軟體相依性時,即會造成權限弱點提高。An elevation of privilege vulnerability exists in Visual Studio when it loads software dependencies.
CVE-2020-1147 .NET Core 拒絕服務弱點 CVE-2020-1147 .NET Core Denial of Service Vulnerability
遠端未經驗證攻擊者可藉由向 ASP.NET Core 應用程式或其他剖析特定 XML 類型的應用程式發出特製要求,以惡意探索此弱點。A remote unauthenticated attacker could exploit this vulnerability by issuing specially crafted requests to an ASP.NET Core application, or other application that parses certain types of XML. 此安全性更新會限制 XML 承載中允許存在的類型,藉以解決此弱點。The security update addresses the vulnerability by restricting the types that are allowed to be present in the XML payload.
Visual Studio 2019 16.0.15 版Visual Studio 2019 version 16.0.15 
2020 年 6 月 9 日發行released June 09, 2020
16.0.15 中修正的問題Issues fixed in 16.0.15
16.0.15 版資訊安全諮詢注意事項Security Advisory Notice for 16.0.15
CVE-2020-1108 / CVE-2020-1108.NET Core 阻斷服務弱點 CVE-2020-1108 / CVE-2020-1108.NET Core Denial of Service Vulnerability
為了全面解決 CVE-2020-1108 的問題,Microsoft 發行了 .NET Core 2.1 和 .NET Core 3.1 的更新。To comprehensively address CVE-2020-1108, Microsoft has released updates for .NET Core 2.1 and .NET Core 3.1. 使用這些 .NET Core 版本中任何一個版本的客戶應該安裝最新版的 .NET Core。Customers who use any of these versions of .NET Core should install the latest version of .NET Core. 如需最新版本號碼和更新 .NET Core 的指示,請參閱版本資訊。See the Release Notes for the latest version numbers and instructions for updating .NET Core.
CVE-2020-1202 / CVE-2020-1203:診斷中樞標準收集器服務權限提高弱點 CVE-2020-1202 / CVE-2020-1203 Diagnostics Hub Standard Collector Service Elevation of Privilege Vulnerability
當診斷中樞標準收集器或 Visual Studio 標準收集器無法正確處理記憶體中的物件時,就會有權限提高弱點。An elevation of privilege vulnerability exists when the Diagnostics Hub Standard Collector or the Visual Studio Standard Collector fails to properly handle objects in memory.
CVE-2020-1293 / CVE-2020-1278 / CVE-2020-1257:診斷中樞標準收集器服務權限提高弱點 CVE-2020-1293 / CVE-2020-1278 / CVE-2020-1257 Diagnostics Hub Standard Collector Service Elevation of Privilege Vulnerability
當診斷中樞標準收集器服務處理檔案作業的方式不正確時,就會有權限提高弱點。An elevation of privilege vulnerability exists when the Diagnostics Hub Standard Collector Service improperly handles file operations
Visual Studio 2019 16.0.14 版Visual Studio 2019 version 16.0.14
2020 年 5 月 12 日發行released May 12, 2020
16.0.14 中修正的問題Issues fixed in 16.0.14
- 新增了一項變更,其讓企業 IT 系統管理員和部署工程師能夠設定 Microsoft Update 用戶端與 SCCM 之類的工具,以判斷 Microsoft Update 目錄和 WSUS 上所裝載 VS2019 16.0 更新的適用性。Added a change that enables Enterprise IT administrators and deployment engineers to configure tools like Microsoft Update client & SCCM to determine applicability of VS2019 16.0 updates hosted on Microsoft Update Catalog & WSUS.
16.0.14 版資訊安全諮詢注意事項Security Advisory Notice for 16.0.14
CVE-2020-1108 .NET Core 阻斷服務弱點 CVE-2020-1108 .NET Core Denial of Service Vulnerability
遠端未經驗證的攻擊者可藉由向 .NET Core 應用程式發出特製要求來惡意探索此弱點。A remote unauthenticated attacker could exploit this vulnerability by issuing specially crafted requests to the .NET Core application. 這項安全性更新會更正 .NET Core Web 應用程式處理 Web 要求的方式來解決弱點。The security update addresses the vulnerability by correcting how the .NET Core web application handles web requests.
Visual Studio 2019 16.0.13 版Visual Studio 2019 version 16.0.13
2020 年 4 月 14 日發行released April 14, 2020
16.0.13 版資訊安全諮詢注意事項Security Advisory Notice for 16.0.13
CVE-2020-0899 Microsoft Visual Studio 權限提高弱點 CVE-2020-0899 Microsoft Visual Studio Elevation of Privilege Vulnerability
當 Microsoft Visual Studio 更新程式服務未適當處理檔案權限時,就會存在權限提高弱點。An elevation of privilege vulnerability exists when Microsoft Visual Studio updater service improperly handles file permissions. 成功惡意探索此弱點的攻擊者可能會覆寫本機系統安全性內容中任意檔案內容。An attacker who successfully exploited this vulnerability could overwrite arbitrary file content in the security context of the local system.
CVE-2020-0900 Visual Studio 延伸模組安裝程式服務權限提高弱點 CVE-2020-0900 Visual Studio Extension Installer Service Elevation of Privilege Vulnerability
當 Visual Studio 延伸模組安裝程式服務未適當處理檔案作業時,就會存在權限提高弱點。An elevation of privilege vulnerability exists when the Visual Studio Extension Installer Service improperly handles file operations. 成功惡意探索此弱點的攻擊者可能會在具有權限提高其任意位置上刪除檔案。An attacker who successfully exploited the vulnerability could delete files in arbitrary locations with elevated permissions.
CVE-2020-5260 由於 URL 驗證不足導致適用於 Visual Studio 的 Git 存在認證洩漏弱點 CVE-2020-5260 Git for Visual Studio Credential Leak Vulnerability due to insufficient validation on URLs
當特別製作的 URL 經過剖析並傳送給認證協助程式時,就會存在認證洩漏弱點。A credential leak vulnerability exists when specially crafted URLs are parsed and sent to credential helpers. 這可能會導致將認證傳送至錯誤的主機。This can lead to credentials being sent to the wrong host.
Visual Studio 2019 16.0.12 版Visual Studio 2019 version 16.0.12
2020 年 3 月 10 日發行released March 10, 2020
16.0.12 中修正的問題Issues fixed in 16.0.12
- VS Preview 2019 vcruntime.h 會引發 RC4011 警告VS Preview 2019 vcruntime.h causes RC4011 warning
- C++ 編譯器中新增 Spectre 緩和選項:/Qspectre-load & /Qspectre-load-cf,可用於強化理論式負載。New Spectre mitigation options in C++ compiler: /Qspectre-load & /Qspectre-load-cf for speculative load hardening.
資訊安全諮詢注意事項Security Advisory Notice
CVE-2020-0793 & CVE-2020-0810:診斷中樞標準收集器服務的提高弱點權限 CVE-2020-0793 & CVE-2020-0810 Diagnostics Hub Standard Collector Service Elevation of Privilege Vulnerability
當診斷中樞標準收集器不當處理檔案作業,或 Windows 診斷中樞標準收集器服務無法正確消毒輸入時,會暴露提高權限弱點。An elevation of privilege vulnerability exists when the Diagnostics Hub Standard Collector improperly handles file operations, or the Windows Diagnostics Hub Standard Collector Service fails to properly sanitize input.
CVE-2020-0884:建立 Outlook Web 增益集時的詐騙弱點CVE-2020-0884 Spoofing vulnerability when creating Outlook Web -Add-in
若在啟用多重要素驗證的情況下建立 Outlook Web 增益集,會暴露詐騙弱點A spoofing vulnerability exists when creating an Outlook Web-Addin if multi-factor authentication is enabled
CVE-2020-0789:Visual Studio 延伸模組安裝程式服務拒絕服務弱點CVE-2020-0789 Visual Studio Extension Installer Service Denial of Service Vulnerability
當 Visual Studio 建伸模組安裝程式服務不當處理永久連結時,將會暴露拒絕服務弱點。A denial of service vulnerability exists when the Visual Studio Extension Installer Service improperly handles hard links. 若攻擊者惡意探索此弱點成功,可能導致目標系統停止回應。An attacker who successfully exploited the vulnerability could cause a target system to stop responding.
Visual Studio 2019 16.0.11 版Visual Studio 2019 version 16.0.11
2020 年 1 月 14 日發行released January 14, 2020
資訊安全諮詢注意事項Security Advisory Notice
CVE-2020-0602 ASP.NET Core 拒絕服務弱點CVE-2020-0602 ASP.NET Core Denial of Service Vulnerability
遠端未經驗證的攻擊者可以藉由向 ASP.NET Core 應用程式發出特製要求來惡意探索此弱點。A remote unauthenticated attacker could exploit this vulnerability by issuing specially crafted requests to the ASP.NET Core application. 這項安全性更新會更正 ASP.NET Core Web 應用程式處理 Web 要求的方式來解決弱點。The security update addresses the vulnerability by correcting how the ASP.NET Core web application handles web requests.
CVE-2020-0603 ASP.NET Core 遠端程式碼執行弱點CVE-2020-0603 ASP.NET Core Remote Code Execution Vulnerability
遠端未經驗證的攻擊者可以藉由向 ASP.NET Core 應用程式發出特製要求來惡意探索此弱點。A remote unauthenticated attacker could exploit this vulnerability by issuing specially crafted requests to the ASP.NET Core application. 這項安全性更新會更正 ASP.NET Core Web 應用程式在記憶體中的處理方式來解決弱點。The security update addresses the vulnerability by correcting how the ASP.NET Core web application handles in memory.
Visual Studio 2019 16.0.10 版Visual Studio 2019 version 16.0.10
發行於 2019 年 12 月 10 日released December 10, 2019
16.0.10 中修正的問題Issues fixed in 16.0.10
資訊安全諮詢注意事項Security Advisory Notice
CVE-2019-1349 由於對子模組名稱的限制過於寬鬆,而產生的 Git for Visual Studio 遠端執行弱點CVE-2019-1349 Git for Visual Studio Remote Excecution Vulnerability due to too lax restrictions on submodule names
當 Git 與同層級子模組目錄的子模組名稱衝突時,就會產生遠端程式碼執行弱點。A remote code execution vulnerability exists when Git runs into collisions of submodule names for directories of sibling submodules. 惡意探索此弱點成功的攻擊者,可以遠端方式在目標電腦上執行程式碼。An attacker who successfully exploited this vulnerability could remote execute code on the target machine. 此安全性更新會採用新版本的 Git for Windows 來解決此弱點,而子模組複製品的目錄必須為空白。The security update addresses the vulnerability by taking a new version of Git for Windows which requires the directory for the submodules’ clone to be empty.
CVE-2019-1350 由於命令列引數的引用不正確,而產生的 Git for Visual Studio 遠端執行弱點CVE-2019-1350 Git for Visual Studio Remote Excecution Vulnerability due to incorrect quoting of command-line arguments
當 Git 在遞迴複製期間,搭配 SSH URL 使用特定引用方式來解譯命令列引數時,會產生遠端程式碼執行弱點。A remote code execution vulnerability exists when Git interprets command-line arguments with certain quoting during a recursive clone in conjunction with SSH URLs. 惡意探索此弱點成功的攻擊者,可以遠端方式在目標電腦上執行程式碼。An attacker who successfully exploited this vulnerability could remote execute code on the target machine. 此安全性更新會採用可修正此問題的新版 Git for Windows 來解決此弱點。The security update addresses the vulnerability by taking a new version of Git for Windows which fixes the issue.
CVE-2019-1351 由於在複製期間使用了非字母的磁碟機名稱,而產生的 Git for Visual Studio 任意檔案覆寫弱點CVE-2019-1351 Git for Visual Studio Arbitrary File Overwrite Vulnerability due to usage of non-letter drive names during clone
當非字母的磁碟機名稱在 git clone
中略過安全性檢查時,Git 中會產生任意檔案覆寫弱點。An arbitrary file overwrite vulnerability exists in Git when non-letter drive names bypass safety checks in git clone
. 惡意探索此弱點成功的攻擊者,可在目標電腦上寫入任意檔案。An attacker who successfully exploited this vulnerability could write to arbitrary files on the target machine. 此安全性更新會採用可修正此問題的新版 Git for Windows 來解決此弱點。The security update addresses the vulnerability by taking a new version of Git for Windows which fixes the issue.
CVE-2019-1352 由於未察覺 NTFS 替代資料流,而產生的 Git for Visual Studio 遠端執行弱點CVE-2019-1352 Git for Visual Studio Remote Excecution Vulnerability due to unawareness of NTFS Alternate Data Streams
透過 NTFS 替代資料流來複製及寫入 .git/ 目錄時,在 Git 中會產生遠端程式碼執行弱點。A remote code execution vulnerability exists in Git when cloning and writing to .git/ directory via NTFS alternate data streams. 惡意探索此弱點成功的攻擊者,可以遠端方式在目標電腦上執行程式碼。An attacker who successfully exploited this vulnerability could remote execute code on the target machine. 此安全性更新會採用可察覺 NTFS 替代資料流的新版 Git for Windows 來解決此弱點。The security update addresses the vulnerability by taking a new version of Git for Windows which has been made aware of NTFS alternate data streams.
CVE-2019-1354 由於未拒絕寫出包含反斜線的已追蹤檔案,而產生的 Git for Visual Studio 任意檔案覆寫弱點CVE-2019-1354 Git for Visual Studio Arbitrary File Overwrite Vulnerability due to not refusing to write out tracked files containing backslashes
當具有反斜線和惡意符號連結的樹狀目錄項目可能會中斷工作樹狀結構時,在 Git 中會產生任意檔案覆寫弱點。An arbitrary file overwrite vulnerability exists in Git when tree entries with backslashes and malicious symlinks could break out of the work tree. 惡意探索此弱點成功的攻擊者,可在目標電腦上寫入任意檔案。An attacker who successfully exploited this vulnerability could write to arbitrary files on the target machine. 此安全性更新會採用不允許這種反斜線使用方式的新版 Git for Windows 來解決此弱點。The security update addresses the vulnerability by taking a new version of Git for Windows which does not allow this usage of backslashes.
CVE-2019-1387 由於對遞迴複製品子模組名稱的驗證過於寬鬆,而產生的 Git for Visual Studio 遠端執行弱點CVE-2019-1387 Git for Visual Studio Remote Execution Vulnerability due to too lax validation of submodule names in recursive clones
使用子模組以遞迴方式複製時,在 Git 中會產生遠端程式碼執行弱點。A remote code execution vulnerability exists in Git when cloning recursively with submodules. 惡意探索此弱點成功的攻擊者,可以遠端方式在目標電腦上執行程式碼。An attacker who successfully exploited this vulnerability could remote execute code on the target machine. 此安全性更新會採用可加強子模組名稱驗證的新版 Git for Windows 來解決此弱點。The security update addresses the vulnerability by taking a new version of Git for Windows which tightens validation of submodule names.
CVE-2019-1486 Live Share 延伸模組 URL 重新導向弱點CVE-2019-1486 Live Share extension URL redirection vulnerability
當連至 Live Share 工作階段的來賓,重新導向至由工作階段主持人指定的任意 URL 時,在 Visual Studio Live Share 延伸模組中偵測到了詐騙漏洞。A spoofing vulnerability was detected in the Visual Studio Live Share extension, when a guest connected to a Live Share session was redirected to an arbitrary URL specified by the session host. 攻擊者可成功惡意探索此弱點,並可在未經明確同意的情況下,讓來賓電腦開啟瀏覽器並瀏覽至惡意 URL。An attacked would have been able to successfully exploit this vulnerability and cause the guest's computer to open a browser and navigate to a malicious URL without explicit consent. 這是 Live Share「共用伺服器」功能的一部分,會在作用中的 Live Share 工作階段期間允許自動連接埠轉送。This was part of the "Shared Server" feature of Live Share that allowed auto port-forwarding during an active Live Share session. 最新的更新,會在瀏覽由主持人指定的 URL 之前,先提示 Live Share 來賓予以同意,以解決此弱點。The latest update addresses this vulnerability by promopting the Live Share guest from consent prior to browsing the host-specified URL.
Visual Studio 2019 16.0.9 版Visual Studio 2019 version 16.0.9
發行於 2019 年 10 月 15 日released October 15, 2019
資訊安全諮詢注意事項Security Advisory Notice
CVE-2019-1425 NPM 套件權限提高弱點 (2019 年 11 月 12 日發佈)CVE-2019-1425 NPM Package Elevation of Privilege Vulnerability (published November 12, 2019)
當 Visual Studio 在解壓縮封存檔案時無法正確驗證永久連結,就會存在權限提高弱點。An elevation of privilege vulnerability exists when Visual Studio fails to properly validate hardlinks when extracting archived files. 這些弱點是由 Visual Studio 使用的套件所導致,如下列兩個 NPM 公告所述:npmjs.com/advisories/803 和 npmjs.com/advisories/886。The vulnerabilities were introduced by NPM packages used by Visual Studio as described in the following two NPM advisories: npmjs.com/advisories/803 and npmjs.com/advisories/886. 這些 NPM 套件的更新版本已包含在這版 Visual Studio 中。The updated versions of these NPM packages were included in this version of Visual Studio.
Visual Studio 2019 16.0.8 版Visual Studio 2019 version 16.0.8
發行於 2019 年 9 月 10 日released September 10, 2019
Visual Studio 2019 16.0.8 版中已修正的問題Issues fixed in Visual Studio 2019 version 16.0.8
- 組件與函式的程式碼不符Assembly does not match code for function
- Visual Studio 在建立新的 SSIS 專案時停止回應Visual Studio stops responding on creating a new SSIS project
- 修正了編輯器延伸使用後發生的 UI 凍結。Fixed UI freezes occurring after extended usage of the editor.
資訊安全諮詢注意事項Security Advisory Notice
CVE-2019-1232 診斷中樞標準收集器服務權限提高弱點CVE-2019-1232 Diagnostics Hub Standard Collector Service Elevation of Privilege Vulnerability
當診斷中樞標準收集器服務不正確地模擬特定檔案作業時,就存在權限提高弱點。An elevation of privilege vulnerability exists when the Diagnostics Hub Standard Collector Service improperly impersonates certain file operations. 成功探索此弱點的攻擊者可以取得提高的權限。An attacker who successfully exploited this vulnerability could gain elevated privileges. 缺乏易受攻擊系統特殊存取權限的攻擊者可能會惡意探索這項弱點。An attacker with unprivileged access to a vulnerable system could exploit this vulnerability. 這項安全性更新會確保診斷中樞標準收集器服務正確地模擬檔案作業,以解決弱點。The security update addresses the vulnerability by ensuring the Diagnostics Hub Standard Collector Service properly impersonates file operations.
Visual Studio 2019 16.0.7 版Visual Studio 2019 version 16.0.7
發行於 2019 年 8 月 13 日released August 13, 2019
Visual Studio 2019 16.0.7 版中已修正的問題Issues fixed in Visual Studio 2019 version 16.0.7
- 已修正遇到中斷點和逐步執行期間的效能回歸。Fixed a performance regression during breakpoint hit and stepping.
- 已修正 IntelliTrace.exe 啟動時的效能迴歸。Fixed a performance regression when IntelliTrace.exe starts up.
- 已修正無法連線到 TFS 時,造成當機的錯誤 (Bug)。Fixed a bug causing a crash when unable to reach the TFS.
- 修正升級至 16.0.1 版時,某些 C++ 專案中的 HRESULT E_FAIL 建置錯誤 (英文)Fix for HRESULT E_FAIL build error in some C++ projects when upgrading to 16.0.1
資訊安全諮詢注意事項Security Advisory Notice
CVE-2019-1211 適用於 Visual Studio 的 Git 的權限提高弱點 (英文)CVE-2019-1211 Git for Visual Studio Elevation of Privilege Vulnerability
在 Git 中,如果 Visual Studio 不正確地剖析設定檔,就會有權限提高弱點存在。An elevation of privilege vulnerability exists in Git for Visual Studio when it improperly parses configuration files. 成功惡意探索弱點的攻擊者,可以在另一個本機使用者的內容中執行程式碼。An attacker who successfully exploited the vulnerability could execute code in the context of another local user. 為利用此弱點,已通過驗證的攻擊者在完整安裝應用程式之前,必須先修改系統上的 Git 設定檔。To exploit the vulnerability, an authenticated attacker would need to modify Git configuration files on a system prior to a full installation of the application. 然後,攻擊者必須說服系統上的另一個使用者執行特定的 Git 命令。The attacker would then need to convince another user on the system to execute specific Git commands. 此更新會藉由變更編輯設定檔所需的權限來解決此問題。The update addresses the issue by changing the permissions required to edit configuration files.
**CVE-2019-1301:.NET Core 中的拒絕服務攻擊弱點**CVE-2019-1301: Denial of Service Vulnerability in .NET Core
當 .NET Core 不正確地處理 Web 要求時,就存在拒絕服務攻擊弱點。A denial of service vulnerability exists when .NET Core improperly handles web requests. 成功惡意探索此弱點的攻擊者可能會導致 .NET Core Web 應用程式面臨拒絕服務攻擊。An attacker who successfully exploited this vulnerability could cause a denial of service against a .NET Core web application. 不需要驗證即可從遠端惡意探索此弱點。The vulnerability can be exploited remotely, without authentication.
這項更新會更正 .NET Core Web 應用程式處理 Web 要求的方式,以解決弱點。The update addresses the vulnerability by correcting how the .NET Core web application handles web requests.
Visual Studio 2019 16.0.6 版Visual Studio 2019 version 16.0.6
發行於 2019 年 7 月 9 日released July 9, 2019
Visual Studio 2019 16.0.6 版本中已修正的問題Issues fixed in Visual Studio 2019 version 16.0.6
- 已修正在 Windows 10 1903 版上執行或已安裝 .NET 4.8 版系統上的朗讀程式支援。Fixed narrator support on systems running on Windows 10 version 1903 or with .NET 4.8 installed.
資訊安全諮詢注意事項Security Advisory Notice
CVE-2019-1075 ASP.NET Core 詐騙弱點CVE-2019-1075 ASP.NET Core Spoofing Vulnerability
.NET Core 更新已在今天發行,並包含在此 Visual Studio 更新中。.NET Core updates have released today and are included in this Visual Studio update. 此版本解決安全性和其他重要問題。This release addresses security and other important issues. 您可以在 .NET Core 版本資訊中查看詳細資料。Details can be found in the .NET Core release notes.
CVE-2019-1077 Visual Studio 延伸模組自動更新弱點CVE-2019-1077 Visual Studio Extension Auto Update Vulnerability
當 Visual Studio 延伸模組自動更新程序不當處理某些檔案作業時,會引發權限提高弱點。An elevation of privilege vulnerability exists when the Visual Studio Extension auto-update process improperly performs certain file operations. 惡意攻擊此弱點成功的攻擊者,將能刪除任意位置上的檔案。An attacker who successfully exploited this vulnerability could delete files in arbitrary locations. 若要探索此弱點,攻擊者需要易受攻擊系統的無特殊權限存取權。To exploit this vulnerability, an attacker would require unprivileged access to a vulnerable system. 此安全性更新藉由保護 Visual Studio 延伸模組自動更新執行檔案作業的位置來解決此弱點。The security update addresses the vulnerability by securing locations the Visual Studio Extension auto-update performs file operations in.
CVE-2019-1113 WorkflowDesigner XOML 還原序列化允許程式碼執行CVE-2019-1113 WorkflowDesigner XOML deserialization allows code execution
參考特定類型的 XOML 檔案可能會導致在 Visual Studio 中開啟 XOML 檔案時執行隨機程式碼。A XOML file referencing certain types could cause random code to be executed when the XOML file is opened in Visual Studio. 對於在 XOML 檔案中允許使用的類型,現在有所限制。There is now a restriction on what types are allowed to be used in XOML files. 如果開啟包含新未授權類型的 XOML 檔案,則會顯示訊息說明該類型未經授權。If a XOML file containing one of the newly unauthorized types is opened, a message is displayed explaining that the type is unauthorized.
如需詳細資訊,請參閱 https://support.microsoft.com/en-us/help/4512190/remote-code-execution-vulnerability-if-types-are-specified-in-xoml 。For further information, please refer to https://support.microsoft.com/en-us/help/4512190/remote-code-execution-vulnerability-if-types-are-specified-in-xoml.
Visual Studio 2019 16.0.5 版Visual Studio 2019 version 16.0.5
2019 年 6 月 11 日發行released June 11, 2019
Visual Studio 2019 16.0.5 版本中已修正的問題Issues fixed in Visual Studio 2019 version 16.0.5
- 修正了已知問題:偵錯時,在 [診斷工具] 視窗中的 [記憶體使用量] 工具中未針對 C++ 原生程式碼建立快照集。Fixed known issue: No snapshot created for C++ native code in Memory Usage tool in the Diagnostic Tools window while debugging..
- 改善了載入 Visual Studio 時的效能問題。Improved performance issues on loading Visual Studio.
Visual Studio 2019 16.0.4 版Visual Studio 2019 version 16.0.4
2019 年 5 月 14 日發行released May 14, 2019
在 Visual Studio 2019 16.0.4 版中已修正的問題Issues fixed in Visual Studio 2019 version 16.0.4
- 附加到 iis 提示附加多次。Attach to iis prompt to attach multiple times.
- WPF 應用程式在 FW 4.8 更新後中斷。WPF applications broken after FW 4.8 update.
- 安裝 typescript 3.3 會停用 2.2 版編譯。installing typescript 3.3 disables version 2.2 compilation.
- 當在 Visual Studio 2019 上附加多個起始專案時,無法附加偵錯工具。Unable to attach debugger when attaching multiple startup projects on Visual Studio 2019.
- 已知問題:VB 專案屬性頁的應用程式索引標籤在安裝 .NET Framework 4.8 開發人員套件時中斷。Known issue: Application tab of VB project property pages is broken when isntalling the .NET Framework 4.8 Developer Pack.
- Visual Studio 擴充功能可能無法安裝嘗試覆寫核心 NuGet 檔案。Visual Studio extensions may fail to install attempting to overwrite core NuGet files.
- 離線安裝程式缺少 microsoft.diagnosticshub.dotnetobjectalloc.vsix。microsoft.diagnosticshub.dotnetobjectalloc.vsix missing from offline installer.
資訊安全諮詢注意事項Security Advisory Notice
CVE-2019-0727 診斷中樞標準收集器服務權限提高弱點CVE-2019-0727 Diagnostics Hub Standard Collector Service Elevation of Privilege Vulnerability
當診斷中樞標準收集器服務不當地處理某些檔案作業時,會引發權限提高弱點。An elevation of privilege vulnerability exists when the Diagnostics Hub Standard Collector Service improperly performs certain file operations. 惡意攻擊此弱點成功的攻擊者,將能刪除任意位置上的檔案。An attacker who successfully exploited this vulnerability could delete files in arbitrary locations. 若要探索此弱點,攻擊者需要易受攻擊系統的無特殊權限存取權。To exploit this vulnerability, an attacker would require unprivileged access to a vulnerable system. 此安全性更新藉由保護診斷中樞標準收集器執行檔案作業的所在位置來解決此弱點。The security update addresses the vulnerability by securing locations the Diagnostics Hub Standard Collector performs file operations in.
Visual Studio 2019 16.0.3 版Visual Studio 2019 version 16.0.3
發行於 2019 年 4 月 30 日released April 30, 2019
Visual Studio 2019 16.0.3 版的新功能What's New in Visual Studio 2019 version 16.0.3
- 適用於 Kubernetes 的 Visual Studio Tools 現在支援最新的 Azure Dev Spaces。Visual Studio Tools for Kubernetes now supports the latest Azure Dev Spaces.
Visual Studio 2019 16.0.3 版中已修正的問題Issues fixed in Visual Studio 2019 version 16.0.3
- Xamarin Forms Android 專案的方案總管捷徑功能表中遺漏了刪除選項。Delete option is missing from solution explorer context menu in Xamarin Forms Android projects.
- Xamarin.Android:無法在 Android 資訊清單設定中選取目標 Framework 28。Xamarin.Android: Can't select target framework 28 in Android Manifest settings.
- 無法載入檔案或組件 'Microsoft.VisualStudio.Web.PageInspector.Loader, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' 或它的其中一個相依性。系統找不到指定的檔案。Could not load file or assembly 'Microsoft.VisualStudio.Web.PageInspector.Loader, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
- 嘗試建立新的檢視時,「執行選取的程式碼產生器時發生錯誤」。"There was an error running the selected code generator" when trying to create a new view.
- Android Berechtigungsliste ist leer-Android 權限清單是空的。Android Berechtigungsliste ist leer-Android permission list is empty.
- Visual Studio 2019 中遺漏了 .axml 檔案的圖示。Missing icons for .axml files in Visual Studio 2019.
- 未顯示 axml 圖示。axml icons are not displayed.
- Visual Studio 擴充功能可能無法安裝嘗試覆寫核心 NuGet 檔案。Visual Studio extensions may fail to install attempting to overwrite core NuGet files.
- 常數運算式上的 C# switch 陳述式可能會產生不正確的編譯器錯誤。C# switch statement on a constant expression may produce bad compiler errors.
Visual Studio 2019 16.0.2 版Visual Studio 2019 version 16.0.2
發行於 2019 年 4 月 18 日released April 18, 2019
Visual Studio 2019 16.0.2 版中已修正的問題Issues fixed in Visual Studio 2019 version 16.0.2
- 標題列中的解決方案名稱會截斷。The solution name in title bar is truncated.
- 在封裝雲端服務專案時,警告中缺少內插補點。Missing interpolation in warning when packaging Cloud Service projects.
- 在某些情況下,當您重設或匯入設定之後,Visual Studio 不會再於啟動時顯示錯誤訊息。Visual Studio will no longer show an error message on startup after you reset or import settings in certain cases.
- 已經修正雲端服務專案中,螢幕助讀程式不會朗讀診斷組態視窗中錯誤輸入的協助工具問題。Accessibility issues in Cloud Service projects where wrong inputs in the diagnostics configuration window are not read by screen readers have been fixed.
Visual Studio 2019 16.0.1 版Visual Studio 2019 version 16.0.1
發行於 2019 年 4 月 9 日released April 09, 2019
Visual Studio 2019 16.0.1 版中已修正的問題Issues fixed in Visual Studio 2019 version 16.0.1
- 新增 Windows (UWP) 平台選項,以在從 'Mobile App (Xamarin.Forms)' 專案範本建立新 Xamarin.Forms 專案時供選擇 (英文)。Add option for Windows (UWP) platform when creating new Xamarin.Forms project from 'Mobile App (Xamarin.Forms)' project template.
- 在升級之後,Visual Studio 2019 中的 [說明] > [關於] 視窗標題仍然顯示 'RC' (英文)。Help > About window title in Visual Studio 2019 still shows 'RC' after upgrade.
- 將 Visual Studio 2019 從 RC 更新至 GA 時,適用於 Visual Studio 的 RC 捷徑被留下 (英文)。When updating Visual Studio 2019 from RC to GA, RC shortcuts for Visual Studio are left behind.
- Visual Studio 2019 Preview 1.1 無法建立 UWP Xamarin 表單 (英文)。Visual Studio 2019 Preview 1.1 cannot create a UWP xamarin form.
- 從 Preview 4.4 升級至 16.0 之後,啟動 Visual Studio 2019 時套件載入失敗。Package load failure starting Visual Studio 2019 after upgrade from Preview 4.4 to 16.0.
Visual Studio 2019Visual Studio 2019
發行於 2019 年 4 月 2 日released April 02, 2019
Visual Studio 2019 的新功能摘要Summary of What's New in Visual Studio 2019
安裝Install
- Visual Studio 更新現在會在背景下載,因此變得更有效率。Be more efficient now that Visual Studio updates will now be downloaded in the background.
- 控制 Visual Studio 更新的安裝模式。Control installation mode for Visual Studio updates.
IDEIDE
- 使用 Visual Studio Live Share (預設會安裝) 與其他人共同作業。Collaborate with others using Visual Studio Live Share, which is installed by default. C++、VB.NET 的其他語言支援,而 Razor 為訪客提供解決方案檢視與原始程式碼控制差異共用。Additional language support for C++, VB.NET, and Razor gives guests a solution view and sharing of source control diffs.
- 開啟您最近使用的程式碼,或從其中一個最常用的流程開始,例如複製、開啟或透過新的啟動視窗建立專案。Open code you recently worked on or start from one of the most commonly used flows like clone, open, or create a project through the new start window.
- 建立新專案,新專案具有改良的搜尋體驗,而且您可以使用依熱門程度排序的範本清單來篩選。Create new projects with an improved search experience and filters using the new list of templates sorted by popularity.
- 提供更多的垂直程式碼空間,而且我們透過一組新的殼層視覺化變更提供現代化的外觀與操作方式。Have more vertical room for your code and a modernized look and feel through a set of new visual changes in the shell.
- 檢視更清晰的 IDE 版本,不論您的顯示器設定和/或縮放比例為何,因為我們已改良對個別監視器感知的支援。View a sharper version of your IDE regardless of your display configuration and/or scaling, as we have improved support for per monitor awareness.
- 使用 Visual Studio 中改良的搜尋功能來尋找功能表、命令、選項與可安裝的元件。Use an improved search capability in Visual Studio for menus, commands, options, and installable components.
- 使用文件指示器快速了解您程式碼檔案的「健康情況」。Quickly understand your code file's 'health' with a document indicator. 透過從指示器執行的單鍵程式碼清除功能來執行及設定。Run and configure through a one-click code cleanup from the indicator.
- 使用 [選項] 對話方塊中的新 [預覽功能] 頁面輕鬆管理您已選擇加入的預覽功能。Easily manage the preview features you are opted in to with a new Preview Features page in the Options dialog.
- 建立新專案時,有以標籤為基礎的搜尋功能改進,還有易於存取的 [最近使用的專案範本] 清單可以使用。Create new projects with improvements in tag-based search and an easily accessible "Recent project templates" list.
- 直接從 Visual Studio 搜尋建立新項目,並以改良的關聯性更快找到結果。Create new items directly from Visual Studio Search and find results faster with improved relevance.
- 透過新的通知體驗持續掌握重要資訊,例如 Visual Studio Live Share 要求。Stay informed of important information, such as Visual Studio Live Share requests, with a new notifications experience.
- 將一組程式碼清理修正程式儲存成一個設定檔,即可輕鬆選取您要在程式碼清理期間執行的修正程式。Save a collection of code cleanup fixers as a profile to easily select the fixers you want run during code cleanup.
- 觸發新的 .NET 重構和程式碼修正。Trigger new .NET refactoring and code fixes.
- 使用第一級專案檔讓設定 .NET Core 專案變得更輕鬆。Configure .NET Core projects more easily with first-class project files.
- 在 [延伸模組和更新] 對話方塊中查看有 [預覽]、[付費] 和 [試用] 標籤的延伸模組狀態。See the status of your extensions with Preview, Paid, and Trial tags in the Extensions and Updates dialog.
- 檢查及設定您想要使用的預覽功能,因為這個 Preview 已重設預設。Check and configure which Preview features you want active since the defaults have been reset in this Preview.
- 排除某些已在這個版本中標示為已淘汰的測試視窗 API。Keep your extensions up-to-date by excluding certain Test Window APIs that have been marked as deprecated in this release.
- 透過開始視窗登入、瀏覽,以及按一下複製或從 Azure DevOps 連線至您託管的存放庫。Sign in, browse, and one-click clone or connect to your hosted repositories from Azure DevOps through the start window.
- 安裝其他原始檔控制主機的延伸模組,來檢視您和自己組織擁有的存放庫。Install extensions for other source control hosts to view repositories owned by you and your organization.
- 體驗改良的藍色佈景主題,該主題透過降低亮度、提高整體對比度和解決其他可用性問題,來因應意見反應。Experience an improved Blue theme experience that addresses feedback by dialing down the luminosity, improving overall contrast and addressing other usability issues.
- 利用 dotnet 格式全域工具從命令列套用程式碼樣式喜好設定。Apply code style preferences from the command-line with the dotnet format global tool.
- MSBuild 與 Visual Studio 現在預設以 .NET Framework 4.7.2 為目標。MSBuild and Visual Studio now target .NET Framework 4.7.2 by default.
- 我們已從伺服器總管移除與 Azure App Service 相關的功能;您可在 Cloud Explorer 取得同等功能。We have removed Azure App Service-related features from Server Explorer; equivalent functionality is instead available in Cloud Explorer.
效能Performance
- 使用 Visual Studio 的新效能改良 掌控解決方案載入方式,這些改良改進了逐步執行速度、分支切換速度等。Take control of how solutions load by using Visual Studio's new performance improvements that affect stepping speed, branch switching speed, and more.
- 請參閱工作狀態中心中的解決方案載入進度。See solution load progress in the Task Status Center.
- 在使用方案篩選檔案開啟的方案上選擇要載入的專案。Choose which projects to load on solution open with solution filter files.
- 透過限制輔助元件的影像,以改進您的輸入效能。Improve your typing performance by limiting the impact of auxiliary components.
- 將您的專案階層狀態與工具視窗狀切換至停用還原的新選項。Toggle the new option to disable restoring of your project hierarchy state and tool window state.
- 了解建置選取的新快速鍵,以及使用新的「全部建置」命令,在 CMake 快速全部建置。Learn the new shortcut for Build Selection and quickly Build All in CMake with the new Build All command.
- 透過 CMake 專案中 C++ 檔案改善的 IntelliSense 效能,加快編碼的速度。Code faster with improved performance of IntelliSense for C++ files in CMake projects.
- 載入較大的.NET Core 方案,並在處理它們的時候享有更少的記憶體使用量。Load larger .NET Core solutions and enjoy significant memory reductions when working with them over time.
- 使用新的專案操作功能表命令,快速載入專案相依性。Load project dependencies quickly with a new project context menu command.
- 在效能中心查看效能提示。See performance tips in the performance center.
一般偵錯和診斷General Debugging and Diagnostics
- 在偵錯時搜尋 [監看]、[自動] 與 [區域] 視窗中的關鍵字,以改進您尋找物件或值的能力。Search keywords within the Watch, Autos, and Locals windows while debugging to improve your ability to find objects or values.
- 檢查資料時,在 [監看]、[自動] 與 [區域] 視窗中檢視格式指定名稱的下拉式清單。View a dropdown of format specifiers in the Watch, Autos, and Locals windows when inspecting data.
- 使用自訂視覺化檢視,它現在與 .NET Core 相容。Use a custom visualizer, now compatible with .NET Core.
- 使用大量模組與 PDB 針對超大型應用程式進行偵錯。Debug very large applications with large numbers of modules and PDBs.
- 使用自訂引數啟動 Google Chrome,全程在 Visual Studio IDE 中對 JavaScript 應用程式進行偵錯。Launch Google Chrome with custom arguments and debug your JavaScript applications all within the Visual Studio IDE.
- 在效能分析工具中,對 CPU 和 DotNet 物件配置工具使用最忙碌路徑反白顯示。Use Hot Path Highlighting for CPU and DotNet Object Allocation tools in the Performance Profiler.
- 使用資料中斷點,在特定物件的屬性值於 .NET Core 3.0+ 應用程式中變更時中斷。這原本是 C++ 專屬的功能。Break when a specific object's property value changes in .NET Core 3.0+ applications using data breakpoints, a feature that was originally exclusive to C++.
- 推出 Preview 1 後,我們已為 Auto、Local 和 Watch 視窗換上了更簡單的介面。Since Preview 1, we have updated the UI for searching in the Autos, Locals, and Watch windows with a simpler interface. 「進行更深入的搜尋」功能已變更為下拉式清單,讓您可快速為起始和後續搜尋選取深度。The Search Deeper function has been changed to a dropdown so you can quickly select how deep you want your initial and subsequent searches to be.
原始程式碼控制與 Team ExplorerSource Control and Team Explorer
- 暫時存放變更,以便您可以使用 Team Explorer 的 [Git 工具] Git 隱藏支援處理另一個工作。Temporarily store changes so you can work on another task by using Team explorer's Git tools support for Git stash.
- 查看 Visual Studio Market Place 上可用的選擇性延伸模組Visual Studio 的提取要求,它將提取要求檢閱整合到 Visual Studio 中。Check out the optional extension available on the Visual Studio Market Place, Pull Requests for Visual Studio, that integrates Pull Request reviews into Visual Studio.
- 使用新的 Azure DevOps 工作項目體驗,它著重在開發人員工作流程,包括使用者特定工作項目檢視、從工作項目建立分支、使用 #提及方式搜尋工作項目,以及直接編輯。Use the new Azure DevOps work item experience that focuses on developer workflows, including user-specific work item views, creating a branch from a work item, searching for work items with #mentions, and inline editing.
擴充性Extensibility
- 使用 NuGet 套件 Microsoft.VisualStudio.SDK中的單一整合 Visual Studio SDK。Use a single, unified Visual Studio SDK in the NuGet package Microsoft.VisualStudio.SDK.
- 利用我們對 VSIX 專案 的更新立即包含 AsyncPackage。Take advantage of our update to the VSIX Project to now include an AsyncPackage.
- 利用我們新增的全新 空白 VSIX 專案 來進行實驗。Experiment with a new Empty VSIX Project template that we have added.
- [延伸模組和更新] 對話方塊現在會指出延伸模組為免費、付費還是試用。Know if an extension is Free, Paid, or Trial, as it is now indicated inside the Extensions and Updates dialog.
程式語言:Programming Languages
C#C#
體驗 C# 編譯器現在支援的 8.0 語言功能預覽,包括:Experience a preview of the 8.0 language features that the C# compiler now supports, including:
- 可為 Null 的參考型別 (英文):當功能為開啟時 (例如,使用
#nullable enable
或在專案層級使用<NullableContextOptions>enable</NullableContextOptions>
),如果標註?
,則參考型別會視為可為 Null,否則視為不可為 Null。Nullable reference types: When the feature is turned on (for example, with#nullable enable
or at the project-level with<NullableContextOptions>enable</NullableContextOptions>
), reference types are treated as nullable if annotated with?
, and as non-nullable otherwise. 編譯器接著會分析 Null 值的流向,並警告可能不安全的使用方式。The compiler then analyzes where null values flow and warns about likely unsafe usages. switch
運算式 (英文):在運算式內容中提供類似switch
的語意。switch
expressions: Offersswitch
-like semantics in an expression context.- 遞迴模式比對 (英文):新模式允許測試欄位/屬性和位置元素 (來自 Tuple 或解構)。Recursive pattern matching: New patterns allow testing fields/properties and positional elements (from tuples or deconstruction).
- 支援
Range
和Index
型別在 CoreFX 中用於切割,包括範圍的x..y
常值語法。Support forRange
andIndex
types being used in CoreFX for slicing, including thex..y
literal syntax for ranges. - 由
IAsyncEnumerable<T>
呈現的非同步資料流可以使用await foreach
來非同步地列舉,且可以使用async IAsyncEnumerable<T>
列舉程式方法來產生。Asynchronous streams represented byIAsyncEnumerable<T>
can be enumerated asynchronously withawait foreach
and can be produced withasync IAsyncEnumerable<T>
iterator methods. using
宣告:在目前區塊結尾處置,而不會增加巢狀層級。using
declarations: Dispose at the end of the current block, without increasing the level of nesting.ref
結構可以藉由實作公用Dispose()
方法來處置。ref
structs can be disposed by implementing a publicDispose()
method.static
區域函式:標示static
的區域函式無法參考this
或封入函式中的變數。static
local functions: Local functions marked withstatic
cannot referencethis
or variables in the enclosing functions.- 區域函式和 Lambda 現在可以宣告遮蔽封入函式變數名稱的參數和區域變數。Local functions and lambdas can now declare parameters and locals that shadow names of variables of the enclosing functions.
- Null 聯合指派:
x ??= y;
只會在x
為null
時,將y
指派給x
。Null-coalescing assignment:x ??= y;
only assignsy
tox
ifx
wasnull
.
在 Mads 的 C# 8.0 概觀 (英文) 中取得更多資訊。Find out more in Mads' overview of C# 8.0.
如需更多詳細資料,請參閱 C# 語言功能狀態 (英文) 和重大變更 (英文)。See the C# language feature status and breaking changes for more details.
此外,根據預設您可以在 Visual Studio 中使用更多新式 C# 語言功能。Additionally, you can use more modern C# language features in Visual Studio by default.
C++C++
- 使用 Visual Studio IntelliCode 這個可為您的程式碼提供 AI 輔助建議的選擇性延伸模組,在撰寫 C++ 與 XAML 程式碼時節省時間。Save time when writing C++ and XAML code by using Visual Studio IntelliCode, an optional extension that gives AI-assisted recommendations for your code.
- 體驗編輯器內的程式碼分析警告。Experience in-editor code analysis warnings. 程式碼分析會自動在背景執行,而警告會以綠色波浪線顯示。Code analysis runs automatically in the background and warnings display as green squiggles.
- 試用新的範本列,其使用預視視窗 (Peek Window) UI 並支援巢狀範本。Try the new Template Bar, which uses the Peek Window UI and supports nested templates.
- 執行新增及更新的 C++ Lifetime profile 檢查程式實作。Run the new, updated implementation of the C++ Lifetime profile checker.
- 使用新的 CMake 設定編輯器設定 CMake 專案,其提供 CMakeSettings.json 的替代方案。Configure your CMake projects using the new CMake Settings Editor, which provides an alternative to CMakeSettings.json.
- 試試多項後端功能改進,包括 OpenMP SIMD 向量化、連結時間加快及更積極的內嵌。Try out a host of backend improvements including OpenMP SIMD vectorization, link-time speedups, and more aggressive inlining.
- 開啟外部工具所產生的現有 CMake 快取,例如 CMakeGUI,或自訂的中繼組建系統。Open existing CMake caches generated by external tools, such as CMakeGUI, or customized meta-build systems.
- 改善以 /Qspectre 進行的分析,來協助解決 Spectre Variant 1 (CVE-2017-5753)。Improve analysis with /Qspectre for providing mitigation assistance for Spectre Variant 1 (CVE-2017-5753). 如需詳細資訊,請參閱 Visual C++ 小組部落格文章。For more information, see the Visual C++ Team Blog post.
- 快速地在您先前的範例引數之間切換,範本 IntelliSense 的範本列現在有 [最近用過的函式] 下拉式清單。Quickly switch between your previous sample arguments now that the Template Bar for Template IntelliSense has a Most Recently Used dropdown.
F#F#
- F# 4.6 已與其他各種編譯器功能改進一併發行。F# 4.6 is released, along with various other compiler improvements.
- 體驗 F# 和 F# 工具的大型解決方案效能改善及各種更新。Experience performance improvements for larger solutions and various bug fixes for F# and the F# tools.
- 了解開放原始碼參與者為 F# 語言和工具完成的一些很棒的工作。Learn about some of the awesome work done by open source contributors to the F# language and tools.
JavaScript/TypeScriptJavaScript/TypeScript
- 對 Node.js 專案中的單元測試偵錯。Debug unit tests in Node.js projects.
- 從 NuGet 和 npm 套件建置 TypeScript 專案的使用者,可以體驗額外支援。Experience additional support for users who are building TypeScript projects from NuGet and npm packages.
PythonPython
- 使用 Python [新增環境] 對話方塊。Easily add Python virtual and conda environments using the Python Add Environment dialog.
- 使用新 Python 環境選取器工具列更輕鬆地使用 Python 環境,包括 [開啟資料夾] 工作區的改良支援。Work more easily with Python environments, including improved support for Open Folder workspaces using a new Python environment selector toolbar.
- 建立 Visual Studio Live Share 工作階段,並與其他 Visual Studio 使用者在 Python 程式碼上共同作業。Create Visual Studio Live Share sessions and collaborate on Python code with other Visual Studio users.
Web 技術Web Technologies
- 利用新增的支援處理 .NET Core 3.0 專案。Take advantage of the added support for working with .NET Core 3.0 projects.
- 查看 ASP.NET 的 CPU 分析。Check out CPU profiling of ASP.NET.
- 針對在虛擬機器、虛擬機器擴展集與 Azure Kubernetes Service 上執行的 .NET Web 應用程式使用快照集偵錯工具。Use snapshot debugger for .NET web apps running on Virtual Machines, Virtual Machine Scale Sets, and Azure Kubernetes Service.
- 運用 Visual Studio Kubernetes Tools 開發適用於 Kubernetes 的容器應用程式Develop container applications for Kubernetes with the Visual Studio Kubernetes Tools
- 體驗 Azure DevOps 工作項目體驗的功能改進,包括指派工作項目的內嵌支援,以及改良的 #提及體驗。Experience enhancements to the Azure DevOps work item experience that include inline support of assigning work items and an improved #mentions experience.
- 更輕鬆地處理專案檔,及體驗 .NET Core 工具更好用的主控台應用程式。Work with project files more easily and experience a better console app for .NET Core tooling.
- 體驗所有應用程式的發行設定檔摘要功能改進。Experience enhancements to the publish profile summary for all apps. 此外,現在在應用程式發行到 Azure App Service 時,還有新的相依性區段可用。Additionally, a new section called Dependencies is now available when an app is published to Azure App Service.
- 體驗建立全新 ASP.NET 應用程式時的視覺效果強化Experience visual enhancements when creating a new ASP.NET application
- 再次提供現有 Azure Functions 發佈設定檔的發佈認證Re-supply publish credentials for an existing Azure Functions publish profile
容器工具Container Tools
- 體驗用於容器化及偵錯並經過簡化的單一專案。Experience a more streamlined single project for containerizing and debugging.
- 利用新增的偵錯 Alpine 支援及額外的基礎映像。Make use of added support for debugging Alpine and additional base images.
使用 Xamarin 的行動裝置應用程式開發Mobile Development with Xamarin
- 透過減少的 Xamarin 工作負載大小,以及在建立新專案時的改善效能,您可以更快開始使用。Get started quicker with a reduced Xamarin workload size and improved performance when creating new projects.
- 查看更多詳細建置進度資訊。See more detailed build progress information.
- 使用 IntelliCode 搭配 Xamarin.Forms XAML。Use IntelliCode with Xamarin.Forms XAML.
- 使用 Xamarin.Forms Previewer 中新的基本預覽模式,您不需要先建置專案就能預覽您的 XAML。See your XAML previewed without building your project first with the new Basic Preview Mode in the Xamarin.Forms Previewer.
- 使用新的 Xamarin.Forms Previewer 下拉式清單,在不同的裝置上預覽您的 Xamarin.Forms XAML。Preview your Xamarin.Forms XAML on different devices with the new Xamarin.Forms Previewer device drop-down.
- 查看新的 Xamarin.Forms 屬性面板控制項。Check out the new property panel for Xamarin.Forms controls.
- 使用剛新增的 Xamarin.Forms Shell 範本。Use the newly-added Shell template for Xamarin.Forms.
- 體驗 Xamarin.Android 初始與累加建置效能改良。Experience improvements to Xamarin.Android initial and incremental build performance.
- 使用 [部署目標] 功能表建立新的 Android 模擬器。Create new Android emulators using the deploy target menu.
- 透過 Xamarin.Android 中的建置功能改進,縮短您的建置時間。Speed up your build times with our improvements for build in Xamarin.Android.
- 體驗 Xamarin.Android 增強的快速部署與 d8/r8 支援。Experience Enhanced Fast Deployment and d8/r8 support for Xamarin.Android.
- 利用 Xamarin.Android Designer 中的增強生產力優點。Take advantage of enhanced productivity in the Xamarin.Android Designer.
- 試用初步支援限制式配置的 Xamarin.Android Designer 功能改進。Try out Xamarin.Android Designer improvements with initial support for constraint layouts.
- 藉由使用移至定義和適用於 Android 資源檔的改良式 XML IntelliSense/自動完成,提升使用 Xamarin.Android Designer 時的生產力。Be more productive with the Xamarin.Android Designer by using Go-To-Definition and enhanced XML IntelliSense/Autocompletion for Android Resource files.
通用 Windows 平台 (UWP)Universal Windows Platform (UWP)
- 註解、間距、命名空間及其他任何文字變更,在從設計工具中進行編輯時都會保留。Preserve comments, spacing, namespaces, and any other text changes when making edits from the designer. 封裝資訊清單設計工具現在會在 Package.appxmanifest 檔案中,維持 xml 變更的精確逼真度。The package manifest designer now maintains strict fidelity to xml changes in the Package.appxmanifest file.
- Windows 應用程式封裝 (機器翻譯) 專案現在支援 .NET Core 專案生產 MSIX 套件。Use the Windows Application Packaging project for .NET Core projects to produce MSIX packages.
- 使用套件建立精靈 (機器翻譯) 直接提交到 Microsoft Store。Use the Package Creation Wizard for direct Microsoft Store submissions.
- Visual Studio 2019 不再支援 Windows Mobile 裝置部署。Deployment to Windows Mobile devices is no longer supported in Visual Studio 2019. 嘗試部署至 Windows 10 行動裝置版裝置會產生錯誤:"Deployment to Windows Mobile devices is not supported in Visual Studio 2019" (不支援在 Visual Studio 2019 中部署至 Windows Mobile 裝置)。Attempts to deploy to a Windows 10 Mobile device will result in an error saying "Deployment to Windows Mobile devices is not supported in Visual Studio 2019". 如果您必須繼續開發 Windows 10 行動裝置版裝置的應用程式,請繼續使用 Visual Studio 2017。If you need to continue working on an application for Windows 10 Mobile devices, continue to use Visual Studio 2017.
XAML 偵錯工具:XAML Debugging Tools:
- XAML [編輯後繼續] 現在支援 x:bind (UWP): 針對包含公用屬性、項目名稱、索引屬性路徑 (集合)、附加屬性和轉換屬性的路徑,XAML [編輯後繼續] 現在支援編輯使用 x:bind 建立的資料繫結。XAML Edit & Continue now supports x:bind (UWP): XAML Edit & Continue now supports editing data bindings created with x:bind for paths containing public properties, element name, indexed property paths (collections), attached properties, and cast properties. 但不支援其他變更。Other changes are not supported. 這項增強功能適用於最小和最大版本為 Windows 10 SDK 1809 版 (組建 10.0.17763) 或更高版本的所有應用程式。This enhancement is available to any app where the minimum and maximum versions target Windows 10 SDK version 1809 (build 10.0.17763) or higher. (注意:從 Visual Studio 2019 Update 2+ 開始,XAML [編輯後繼續] 已稱為 XAML 熱重新載入)。(Note: XAML Edit & Continue is now known as XAML Hot Reload starting with Visual Studio 2019 Update 2+).
SQL Server Data ToolsSQL Server Data Tools
- 體驗已包含 UTF-8 定序的 SSDT 和 DacFX 更新。Experience an updated SSDT and DacFX that now includes UTF-8 collation support.
Visual Studio 2019 的新功能詳細資料Details of What's New in Visual Studio 2019
安裝Install
- 您現在可以選擇如何安裝 Visual Studio 更新。You can now choose how to install Visual Studio updates. 預設模式為 [全部下載後安裝],讓您可在下載更新時繼續使用 Visual Studio。The default mode is ‘Download all, then install’ which allows you to continue using Visual Studio while updates are being downloaded. 請注意,若您選取 [全部下載後安裝],會需要開啟 Visual Studio 安裝程式並選取 [繼續] 來完成安裝。Note that, if you select ‘Download all, then install’, you’ll need to finish up the installation by opening the Visual Studio Installer and selecting Continue.
- Visual Studio 更新現在會在背景下載。Visual Studio updates will now be downloaded in the background. 這些下載只會在您的電腦閒置時執行。These downloads will occur only when your machine is idle. 當下載完成時,您會在 Visual Studio 中收到通知,指出您的下載已可安裝。When the downloads complete, you will get a notification inside Visual Studio that your download is now ready to install.
- 您現在可以透過 [工具] > [選項] 功能表變更 [產品更新] 頁面上的設定,來控制更新安裝模式以及是否要下載更新。You can now control your update installation mode and whether to download updates or not through the Tools > Options menu by changing the settings on Product Updates page.

啟動視窗Start window
新的啟動視窗提供流暢的啟動體驗,以協助您快速在啟動 Visual Studio 時快速存取您的程式碼。The new start window provides a streamlined launch experience to help you quickly get to your code upon starting up Visual Studio.
- 檢視您最近的專案與資料夾,以及以按一下的方式開啟它們。View your recent projects and folders, and open them with a single click. 透過操作功能表,從清單中釘選和移除項目。Pin and remove items from the list through the context menu.
- 使用公開或私人的 Git URL 複製或取出程式碼,這也會自動在 IDE 中開啟資料夾。Clone or check out code by using any public or private git URL, which will also automatically open the folder in the IDE.
- 從 Azure DevOps 登入、瀏覽和按一下來複製或連線到您的託管存放庫,或安裝其他原始檔控制主機的擴充,以檢視您和您組織擁有的存放庫。Sign in, browse, and one-click clone or connect to your hosted repositories from Azure DevOps or install extensions for other source control hosts to view repositories owned by you and your organization.
- 瀏覽您的本機磁碟或網路共用以尋找專案、方案或包含程式碼的任何資料夾,並在 IDE 中開啟它們。Browse your local disk or network share for projects, solutions, or any folders containing code, and open them in the IDE.
- 選取提供您程式碼 Scaffolding 的專案範本,以協助您開始使用新專案或方案。Select a project template that provides you with code scaffolding to help you get started with a new project or solution.
- 依專案範本標題、描述和標籤來篩選範本,或透過可取得的語言、平台和專案類型來篩選。Search for project templates by their title, description, and tags or filter through available languages, platforms, and project types. 預設清單會顯示所有可用的範本,您最近使用的前 10 個專案範本清單則會顯示在左窗格,以供快速存取。The default list shows all available templates, while a list of your top 10 recently used project templates appears on the left pane for quick access. 兩頁的精靈將可讓您一次專注在一個抉擇上。A two-page wizard allows you to concentrate on one decision at a time.

殼層與平台Shell and platform
- 快透過已改進的新產品圖示,快速查看您開啟及使用的是哪個版本的 Visual Studio。Quickly spot which version of Visual Studio you're opening and using via the new, improved product icon. 新圖示在雜亂的背景中將更能清楚看見。The new icon is also more visible against a variety of backgrounds.
- 使用我們更新的藍色佈景主題體驗 Visual Studio 的現代化外觀與操作方式,此佈景主題可為您提供更清楚的使用者介面,同時仍符合我們的協助工具標準。Experience a modernized look and feel of Visual Studio with our refreshed blue theme that gives you a cleaner user interface while still meeting our accessibility standards.
- 透過我們以精簡為目標的變更及取回 IDE 中的垂直空間,您可以顯示更多程式碼。See more of your code, through our changes that target compactness and reclaim vertical space in the IDE. 我們已合併標題列與功能表列,同時保留現有的功能。We have combined the title bar and the menu bar while also preserving existing functionality.
- 透過新的實驗性設定,使用 Visual Studio 做為個別監視器感知應用程式。Use Visual Studio as a Per-Monitor Awareness application through a new, experimental setting. 開啟設定可讓 Visual Studio 的元件 (例如殼層與編輯器) 以更銳利的方式呈現,不論您的顯示器設定和/或縮放比例為何。When on, this setting helps parts of Visual Studio, such as the shell and the editor, render more sharply regardless of your display configuration and/or scaling.
- 體驗跨功能表、命令、選項與可安裝元件的加強搜尋功能。Experience an enhanced search experience across menus, commands, options, and installable components. 我們的新搜尋功能現在會在搜尋結果中動態顯示結果、偵測拼自錯誤,並提供相關資訊 (例如鍵盤快速鍵)。Our new search now displays results dynamically, accommodates spelling errors, and provides relevant information (such as keyboard shortcuts) inside the search results.

- 透過「文件健康情況指示器」功能檢視與目前開啟之檔案關聯的健康情況資訊。View health information associated with your currently open file through the Document Health Indicator feature.


- 若您是 C# 開發人員,您可以使用「程式碼清理」快速清理最常見的程式碼撰寫建議。If you are a C# developer, you can quickly clean up some of the most common coding suggestions using Code Cleanup.
- 透過設定設定「程式碼清理」來選取您要執行的修正集合。Select the set of fixers you'd like to have run by configuring Code Cleanup.

- 透過可延伸剪貼環 (Ctrl + Shift + V) 的快顯功能表來查看您的剪貼簿歷程記錄內容。See the contents of your clipboard history via a context menu that extends the Clipboard Ring (Ctrl + Shift + V).

- 我們藉由以下方式改進了搜尋體驗:We've improved your search experience by:
- 新增功能表、元件和範本的篩選Adding filters for Menus, Components, and Templates
- 合併您的搜尋選取項目,以提供關聯性最高的搜尋結果Incorporating your search selections to give you the most relevant search results
- 讓您可直接從 Visual Studio 搜尋建立及新增專案/項目到解決方案中Enabling you to create and add new projects/items to your solution directly from Visual Studio Search
- 現在只要使用者符合最低要求 (.NET 4.8 Preview 與 Windows 10 2018 年 4 月更新或更新版本),改良的個別監視器感知 (PMA) 體驗就會根據預設開啟。The improved Per-Monitor Awareness (PMA) experience is now turned on by default for users that meet the minimum set of requirements (.NET 4.8 Preview & and Windows 10 April 2018 Update or newer). 工具箱、中斷點、監看式、區域變數、自動變數和呼叫堆疊這類工具視窗已轉換為 PMA,因此無論您的顯示器設定及 (或) 縮放比例為何,都能清晰轉譯。Tool windows such as Toolbox, Breakpoints, Watch, Locals, Autos & Call Stack have been converted to PMA and thus render sharply regardless of your display configuration and/or scaling.
- 新的通知體驗新增了:A new notification experience adds:
- 狀態列的新圖示和計數器體驗A new icon and counter experience to the status bar
- 新的快顯通知機制A new toast notification mechanism
- Visual Studio 更新與 Visual Studio 授權到期通知Visual Studio Updates & Visual Studio licensing expiration notifications
- 修正過的藍色佈景主題體驗,透過降低亮度、提高對比度和解決其他可用性問題,來因應意見反應。A revised Blue theme experience that addresses feedback by dialing down the luminosity, improving contrast and addressing other usability issues.
- 利用工具列區域中的可用空間作為可拖曳區域,來加強視窗拖曳功能。Enhanced window-dragging capabilities by leveraging available free space in the toolbar region as a draggable region.
- 您現在可以將一組程式碼清理修正程式儲存成一個設定檔,以便快速選取您想在程式碼清理期間執行的修正程式組合。You can now save a collection of Code Cleanup fixers as a profile so you can quickly select the set of fixers you want run during Code Cleanup.

- 我們在 [延伸模組與更新] 對話方塊新增了標籤,協助您快速得知延伸模組處於 [預覽] 階段、是 [付費] 延伸模組,還是在 [試用] 期間。We've added tags in the Extensions and Updates dialog to help you quickly understand whether an extension is in Preview, is a Paid extension, or is in a Trial period.

- 在 Visual Studio 2019 與更新版本中實作資料工具提示的建議方式現在是 IAsyncQuickInfoSourceProvider。The recommended way to implement data tooltips in Visual Studio 2019 and later is now IAsyncQuickInfoSourceProvider. 傳統編輯器快速資訊 API IVsTextTipData 與 TextTipData 在 Visual Studio 2019 Preview 1 中已過時。Legacy Editor Quick Info APIs IVsTextTipData and TextTipData are deprecated in Visual Studio 2019 Preview 1.
- 編輯器智慧標籤 (Microsoft.VisualStudio.Language.Intellisense 命名空間中的 SmartTag* 介面系列) 已被 LightBulb API 取代,而且從 Visual Studio 2019 Preview 1 起將不再支援。The Editor Smart Tags (ISmartTag* family of interfaces in Microsoft.VisualStudio.Language.Intellisense namespace) have been deprecated in favor of the LightBulb API and are no longer supported starting with Visual Studio 2019 Preview 1.
- 方案選項 [顯示進階組建組態]、[永遠顯示方案] 與 [建立時儲存新專案] 已因未使用率低而移除。The solution options Show advanced build configurations, Always show solution, and Save new projects when created have been removed due to low usage. 這些值已被設定為其預設值 True。These values have been set to their default value of True.
- 使用新的 [預覽功能] 頁面 ([工具] > [選項] > [環境] > [預覽功能]) 選擇加入或退出特定預覽功能。Opt in or out of certain preview features using the new Preview Features page found in Tools > Options > Environment > Preview Features.
效能Performance
- 我們為資料夾和解決方案的組建選取新增了快速鍵:Ctrl + B。We have added a new shortcut for Build Selection for folders and solutions: Ctrl + B.
- 藉由載入您的方案且卸載所有專案,以快速開啟大型方案。Quickly open large solutions by loading your solution with all projects unloaded.
- 使用方案篩選檔案選擇在開啟方案時要載入的專案。Choose which projects to load on solution open with Solution Filter Files.
- 若要建立「方案篩選檔案」,請卸載您不想要自動開啟的專案、以滑鼠右鍵按一下方案,然後選取 [另存為解決方案篩選]。Create a Solution Filter File by unloading projects you don't want opened automatically, right-clicking the solution, and selecting Save As Solution Filter. 您接著可以使用篩選檔案來為後續使用者開啟方案。You can then use the filter file to open the solution for subsequent uses.
- 若要建立「方案篩選檔案」,請卸載您不想要自動開啟的專案、以滑鼠右鍵按一下方案,然後選取 [另存為解決方案篩選]。Create a Solution Filter File by unloading projects you don't want opened automatically, right-clicking the solution, and selecting Save As Solution Filter. 您接著可以使用篩選檔案來為後續使用者開啟方案。You can then use the filter file to open the solution for subsequent uses.
- 我們為 CMake 檔案新增了全部建置的命令:Ctrl + Shift + B。We have added a command to Build All for CMake files: Ctrl + Shift + B.
- 我們改善了 CMake 專案中 C++ 檔案的 IntelliSense 效能。We've improved IntelliSense performance in C++ files in CMake projects.
- 我們在專案和解決方案操作功能表新增了一個命令,以載入未載入的專案相依性。We've added a command to load unloaded project dependencies to the project and solution context menus.
- 用以改善 Visual Studio 效能的通知提示現在會存留在效能中心,可以透過 [說明] > [管理 Visual Studio 效能] 存取。Notification tips to improve performance of Visual Studio are now persisted in the performance center, accessible via Help > Manage Visual Studio Performance.
- 您現在可以在「工作狀態中心」看到您的方案載入進度,並在您的方案載入完成時看到通知。You can now see your solution load progress in the Task Status Center, as well as alerts when your solution loads finish.
- 在使用「方案篩選檔案」開啟的方案上選擇要載入的專案。Choose which projects to load on solution open with Solution Filter Files.
- 透過卸載您不想要自動開啟的專案、以滑鼠右鍵按一下方案,然後選取 [另存為解決方案篩選],以建立「方案篩選檔案」。Create a Solution Filter File by unloading projects you don't want opened automatically, right-clicking the solution, and selecting Save As Solution Filter. 您接著可以使用篩選檔案來為後續使用者開啟方案。You can then use the filter file to open the solution for subsequent uses.
- 當您在「開啟資料夾」案例中按一下 Ctrl+T 時,體驗改良的建置資產探索與檔案搜尋。Experience improved build asset discovery and file search when you Ctrl+T in Open Folder scenarios.
- 請注意效能改進,因為現在 Visual Studio 編輯器將會限制輸入效能上的輔助元件影響。Notice performance improvements now that the Visual Studio editor will limit the impact of auxiliary components on typing performance. 特別是,它將會自動取消輸入時任何長時間值行的非基本作業。Particularly, it will auto-cancel any long-running, nonessential operations when typing.
- 您可以透過 [工具] > [選項] > [文字編輯器]、[進階] 來設定 Visual Studio 輔助元件限制行為:You can configure the Visual Studio auxiliary component limitation behavior via Tools > Options > Text Editor > Advanced:

- 您現在可以在方案總管工具視窗中停用從先前的工作階段還原專案階層狀態的功能。You can now disable the restoration of the project hierarchy state from the previous session in the Solution Explorer tool window. 我們實作此功能的原因是在方案開啟期間從先前的工作階段還原專案階層會造成方案載入延遲。We implemented this change because restoring the project hierarchy from previous session at solution open can delay solution load.
- 在 [工具] > 選項 > [專案與解決方案] > [一般] 中切換此選項。Toggle this option in Tools > Options > Projects and Solutions > General.

一般偵錯和診斷General Debugging and Diagnostics
一般偵錯General Debugging
- 透過鍵盤使用我們的新搜尋功能來反白、尋找及瀏覽關鍵字,此搜尋功能已整合到 [監看]、[自動] 與 [區域] 視窗。Highlight, find, and navigate with keywords using our new search feature that we integrated into the Watch, Autos, and Locals windows.

- 透過將逗號附加到清單項目,檢視指定名稱與選項下拉式清單,以在 [監看]、[自動] 與 [區域] 中設定資料格式。View a dropdown of specifiers and options to format data in the Watch, Autos, and Locals windows by appending a comma to a listed item.

- 您現在可以使用適用於 .NET Core 的自訂與 DataSet 視覺化檢視支援。You can now use custom and DataSet visualizer support for .NET Core.

- 針對在 Windows 上執行的 C++ 應用程式,PDB 現在會在個別的 64 位元處理序上載入。For C++ applications running on Windows, PDB now load in a separate 64-bit process. 此變更已解決由於偵錯工具在針對包含大量模組與 PDB 的應用程式進行偵錯時耗盡記憶體而導致的各種當機問題。This change addresses a range of crashes caused by the debugger running out of memory when debugging applications that contain a large number of modules and PDBs.
受控資料中斷點Managed data breakpoints
您現在可以使用資料中斷點,在特定物件的屬性值於 .NET Core (3.0 以上的版本) 應用程式中變更時中斷。這原本是 C++ 專屬的功能。You can now break when a specific object's property value changes in .NET Core (3.0 or higher) applications using data breakpoints, a feature that was originally exclusive to C++. 因為資料中斷點可以聚焦於 特定 物件的屬性上 (即使其超出範圍),所以適合作為簡單在屬性的 setter 上放置中斷點的替代方式,不過若您有數百個物件都在呼叫該函式,那麼前一種做法可能會導致常常發生間歇性中斷。They are a great alternative to simply placing a breakpoint on a property's setter because a data breakpoint can focus on a specific object's property even when it's out of scope, whereas the former option may result in constant, irrelevant breaks if you have hundreds of objects calling that function.

監看式視窗搜尋 UX 更新Watch window Search UX Updates
我們已為 [自動變數]、[區域變數] 和 [監看式] 視窗的搜尋 UI 換上了更簡單的介面。We have updated the UI for searching in the Autos, Locals, and Watch windows with a simpler interface. 「進行更深入的搜尋」功能已變更為下拉式清單,讓您可快速為起始和後續搜尋選取深度。The Search Deeper function has been changed to a dropdown so you can quickly select how deep you want your initial and subsequent searches to be.
套用程式碼樣式喜好設定Apply code style preferences
- 您現可利用 dotnet 格式全域工具從命令列套用程式碼樣式喜好設定。You can now apply code style preferences from the command-line with the dotnet format global tool. 您需要 .NET Core 2.1 SDK 或更新版本才能安裝。To install, you will need .NET Core 2.1 SDK or later. 在您慣用的終端機中執行下列命令:
dotnet tool install -g dotnet-format --version 3.0.0-beta4-19105-10
Run the following command in your favorite terminal:dotnet tool install -g dotnet-format --version 3.0.0-beta4-19105-10

擴充性Extensibility
- 在 Visual Studio 2019 中,您將再也無法安裝以 V1 vsixmanifest 延伸模組格式建置的延伸模組。You will no longer be able to install extensions built with the V1 vsixmanifest extension format in Visual Studio 2019. V1 是在 Visual Studio 2010 中引進,而且在 Visual Studio 2017 中過時,因為它會導致 Visual Studio 不穩定。V1 was introduced in Visual Studio 2010 and was deprecated in Visual Studio 2017 because it could cause reliability issues with Visual Studio. 在 Visual Studio 2019 中,已完全移除對 V1 的支援。In Visual Studio 2019, the support for V1 has been completely removed. 以 Visual Studio 2019 為目標的延伸模組應該使 V2 或 V3 的 vsixmanifest 格式重新建置。Extensions targeting Visual Studio 2019 should be rebuilt V2 or V3 of the vsixmanifest format.
- 現在當延伸模組以同步方式自動載入時,您將會收到通知。You will now be notified when an extension is synchronously auto-loaded. 請注意,延伸模組在此版本中將正常載入並運作,但在下一版的 Visual Studio 2019 更新中可能無法運作。Note, the extension will load and work as normal in this release, but is at risk of not functioning in the next Visual Studio 2019 update. 更多詳細資訊可在我們關於透過更新延伸模組自動載入行為來改進關鍵案例回應能力的部落格文章中找到。More details can be found on our blog post about improving the responsiveness of critical scenarios by updating auto load behavior for extensions.
整合的 SDK NuGet 套件Unified SDK NuGet package
在以前,延伸模組作者必須為要在自己延伸模組中使用的 Visual Studio SDK 個別 NuGet 套件製作許多個別參考。In the past, extension authors had to make many separate references to the individual NuGet packages of the Visual Studio SDK they needed to use in their extension. 五花八門的套件版本常常相異,很常導致編譯時間的相依性衝突與執行階段問題。The versions of the various packages weren't always aligned and that often resulted in dependency conflicts at compile time as well as runtime issues.
如果要解決這些問題,請使用稱作 Microsoft.VisualStudio.SDK 的新套件,其中包含所有 Visual Studio SDK 構成套件的相依性。To solve these issues, use a new package called Microsoft.VisualStudio.SDK which contains dependencies on all the packages that make up the Visual Studio SDK. 該套件解決了版本不符的問題,且讓人共容易知道該使用哪個版本。It solves the issue of version mismatches as well as makes it easy to know which version to use. 只要使用版本與您延伸模組支援的最低 Visual Studio 版本相應的套件,您就能存取整個 SDK。Simply use the version of the package that corresponds to the lowest version of Visual Studio your extension supports and you will have access to the entire SDK.
目前僅提供 15.9 版的 SDK 套件,但我們會在接下來的幾個月陸續推出直到 14.0 版的其他版本。Right now, only version 15.9 of the SDK package exists, but more will be released in the months to come all the way to version 14.0.
全新專案範本New and updated project templates
VSIX 專案 範本在經過多次更新之後,變得更易於使用且更好:The VSIX Project template has gone through multiple updates to simplify it and make it better:
- 使用全新的整合式 SDK NuGet 套件Uses the new, unified SDK NuGet package
- 包含 AsyncPackage 類別Includes an AsyncPackage class
- 不再需要 .resx 檔案就能編譯套件No longer requires a .resx file to compile a package
- 以 .NET Framework 4.7.2 為目標Targets .NET Framework 4.7.2
我們建立了全新的 空白 VSIX 專案 範本,該範本和 VSIX 專案範本相同,但沒有 AsyncPackage 類別。A new Empty VSIX Project template has been created and it is the same as the VSIX Project template but without the AsyncPackage class. 此外,其參考了整合式 SDK NuGet 套件,能為 MEF 延伸模組和其他無套件的延伸模組類型提供很好的起點。It also references the unified SDK NuGet package providing a good starting point for MEF extensions and other package-less extension types.
免費/付費/試用Free/Paid/Trial
我們之前一直沒有能輕鬆確認延伸模組是標記為免費、付費或試用的方法。There hasn't been an easy way to see if an extension was marked as free, paid, or a trial. 但現在有了如此方法,使 [延伸模組和更新] 對話方塊中的延伸模組都會清楚標記為試用或付費等狀態。This now changes so that inside the Extensions and Updates dialog, each extension that is either a trial or paid will be marked clearly as such. 不具試用/付費標籤的延伸模組均為免費。Extensions that don't have a trial/paid label are free.
測試工具Testing tools
測試視窗中先前已取消記載但標示為公開的多餘 API,已新增到淘汰清單。Additional APIs in the Test Window that were previously undocumented but marked as public have been added to the deprecation list.
原始檔控制Source Control
- 既然 Team Explorer 的 Git 工具支援 Git 隱藏,您可以暫時存放變更,以便您可以處理另一個工作。Temporarily store changes so you can work on another task now that Team Explorer's Git tools support Git stash.
- 在 Visual Studio 2019 中,使用我們的全新提取要求體驗來檢閱、執行甚至針對來自 Azure Repos 的提取要求進行偵錯,而不需要離開 IDE。Review, run, and even debug pull requests from Azure Repos without leaving the IDE using our brand-new pull request experience in Visual Studio 2019. 若要開始,您可以從 Visual Studio Marketplace 下載適用於 Visual Studio 的提取要求延伸模組。To get started, you can download the Pull Requests for Visual Studio extension from the Visual Studio Marketplace.

MSBuildMSBuild
- MSBuild 工具集版本已從
15.0
變更為Current
。The MSBuild toolset version has been changed from15.0
toCurrent
.MSBuild.exe
現在位於%VSINSTALLDIR%\MSBuild\Current\Bin\MSBuild.exe
。MSBuild.exe
is now in%VSINSTALLDIR%\MSBuild\Current\Bin\MSBuild.exe
. - MSBuild (與 Visual Studio) 現在以 .NET Framework 4.7.2 為目標。MSBuild (and Visual Studio) now targets .NET Framework 4.7.2. 若要使用新的 MSBuild API 功能,您的組件也必須升級,但現有的程式碼將繼續運作。If you wish to use new MSBuild API features, your assembly must also upgrade, but existing code will continue to work.
C#C#
對於 Visual Studio 2019 之前的每個版本,C# 語言版本一律是相當於 最新主要。For every release prior to Visual Studio 2019, the default C# language version was always equivalent to Latest Major. 在 Visual Studio 2017 中,C# 發展並推出三個次要版本:7.1、7.2 和 7.3。In Visual Studio 2017, C# evolved and released three minor versions: 7.1, 7.2, and 7.3. 不過,新專案已仍預設為 C# 7.0。However, new projects were still defaulting to C# 7.0. 這樣令想使用新功能的 C# 開發人員挫折,他們必須針對每個新專案手動變更,語言版本。This proved frustrating for C# developers who wanted to use new features, but had to manually change the language version for each new project.
為了解決此問題,預設值 C# 語言版本會取決於其目標架構:To address this problem, the default C# language version is determined by its target framework:
- 如果您的目標是 .NET Core 3.0 預覽版,則 C# 語言版本會是 C# 8.0 預覽版。If you are targeting .NET Core 3.0 preview, the C# language version will be C# 8.0 Preview.
- 如果您的目標是 .NET Framework 或任何非預覽版的 .NET Core,則 C# 語言版本將會是 C# 7.3。If you are targeting .NET Framework or any non-preview of .NET Core, the C# language version will by C# 7.3.
這樣會預設為可使用最新的穩定 C# 語言功能,而在使用 .NET Core 預覽版時,會使用配合 .NET Core 3.0 預覽版的 C# 8.0 預覽語言功能。This allows the use of the latest stable C# language features by default, and when using .NET Core previews, the use of C# 8.0 preview language features that align with .NET Core 3.0 Preview.
如果您在專案或 props 檔案中,透過 LangVersion
指定語言版本,該語言版本會覆寫先前所述的預設值。If you specify a language version via LangVersion
in a project or props file, that language version overrides the previously described default.
C++C++
- 既然 Visual Studio Live Share 支援 C++,您現在可以即時共同作業。Collaborate in real time now that Visual Studio Live Share supports C++.
- 透過使用 IntelliCode 這個選擇性延伸模組來節省時間,此選擇性延伸模組會使用其專屬定型與您的程式碼上下文將您最可能使用的項目放在完成清單頂端。Save time by by using IntelliCode, an optional extension that uses its extensive training and your code context to put what you're most likely to use at the top of your completion list. 針對 C++,當您使用 STL 之類的熱門程式庫時,IntelliCode 提供最多幫助。For C++, IntelliCode offers the most help when you are using popular libraries like STL.
- 我們已修改數個專案範本名稱與描述,以符合更新的 [新增專案] 對話方塊。We have modified several project template names and descriptions to fit with the updated New Project dialog.
- 我們已移除 Clang/C2 實驗性元件。We have removed the Clang/C2 experimental component. 針對具有 /permissive- 和/或 /std:c++17 的完整 C++ 標準一致性使用 MSVC 工具集,或針對 Windows 使用 Clang/LLVM 工具鏈。Use the MSVC toolset for full C++ standards conformance with /permissive- and/or /std:c++17, or the Clang/LLVM toolchain for Windows. 請參閱 Visual C++ 小組部落格 (英文) 以取得詳細資訊。See the Visual C++ Team Blog for more details.
- 我們已將 C++ 編譯器 /Gm 切換參數設定為過時。We have deprecated the C++ Compiler /Gm switch. 若已明確定義用 /Gm 切換參數,請考慮將它從您的建置指令碼移除。Consider disabling the /Gm switch in your build scripts if it's explicitly defined. 或者,您也可以安全地忽略 /Gm 的過時警告,因為當使用 [將警告視為錯誤] (/WX) 時不會將它視為錯誤。Alternatively, you can also safely ignore the deprecation warning for /Gm as it will not be treated as error when using "Treat warnings as errors" (/WX).
- C++ Android 體驗現在預設為 Android SDK 25 與 Android NDK 16b。The C++ Android experience now defaults to Android SDK 25 and Android NDK 16b.
生產力Productivity
- 程式碼分析現在會在背景自動執行。Code analysis now runs automatically in the background. 警告會在您鍵入的同時,在編輯器內以綠色波浪線顯示。Warnings display as green squiggles in-editor as you type.
- 範本列現在使用 Peek Window UI 來取代強制回應是窗、支援巢狀範本,並會將任何預設引數預先填入預視視窗中。The Template Bar now utilizes the Peek Window UI rather than a modal window, supports nested templates, and prepopulates any default arguments into the Peek Window.
- NULL->nullptr 程式碼分析警告 (C26477 USE_NULLPTR_NOT_CONSTANT) 的自動修正可在相關程式行透過燈泡功能表取得,並會根據預設在 C++ Core Check Type Rules 規則集中啟用。An automatic fix-it for the NULL->nullptr code analysis warning (C26477 USE_NULLPTR_NOT_CONSTANT) is available via the lightbulb menu on relevant lines, enabled by default in the C++ Core Check Type Rules ruleset. IDE 中的其他簡易修正還包括:新增遺漏的 #include 指示詞、修正遺漏的分號及修正不當使用 '*' 與 '&' 的情形。Additional quick fixes in the IDE include adding missing #include directives, fixing missing semicolons, and fixing incorrect uses of '*' versus '&'.
- 根據預設,C++ 主控台和傳統型應用程式不再產生先行編譯標頭檔。Precompiled headers are no longer generated by default for C++ console and desktop apps.
- 移至定義現在依 #include 指示詞執行,會開啟對應的檔案。Go to Definition now works on #include directives, opening the corresponding file. 這包括 F12 快速鍵,其提供輕鬆的程式碼瀏覽方式。This includes the F12 shortcut, providing an easy way to navigate around your code.
- 暫留在程式碼區塊的右大括弧,會提供有關該區塊內容的實用資訊。Hovering over a closing brace of a code block provides some helpful information about the context of that block.
- 我們在 ConcurrencyChecker 中從 <mutex> 標頭新增了知名 STL 類型的支援。We've added support in ConcurrencyChecker for well-known STL types from the <mutex> header.
- Lifetime profile 檢查程式已更新的部份實作可用於偵測懸置的指標和參考。An updated partial implementation of the Lifetime profile checker is available for detecting dangling pointers and references.
- 我們在編譯器中新增了 C++20 運算子 <=> (「太空船」) 的初步支援,以進行三向比較。We've added initial support in the compiler for the C++20 operator <=> ("spaceship") for three-way comparison.
CMakeCMake
- 我們改善了 CMake 專案中 C++ 檔案的 IntelliSense 效能。We've improved performance of IntelliSense for C++ files in CMake projects.
- Visual Studio 藉由偵測您的 Linux 電腦上是否有相容的 CMake 版本,協助您在 Linux 上使用 CMake 啟動 C++ 開發。Visual Studio helps bootstrap your C++ development with CMake on Linux by detecting if you have a compatible version of CMake on your Linux machine. 若沒有,則會為您安裝。If not, it offers to install it for you.
- CMake 設定編輯器可當成 CMakeSettings.json 的替代方式,而且與 CMakeGUI 有部分相同。The CMake Settings Editor provides an alternative to CMakeSettings.json and provides some parity with CMakeGUI.
- CMake 功能表已移除並重新安排,以提高與專案和解決方案之間的相似性。The CMake menu has been removed and reorganized for closer parity with projects and solutions.
- CMakeSettings 中不相容的設定 (例如不相符的架構或不相容的 CMake 產生器設定) 會在 JSON 編輯器中顯示波浪線,並在 [錯誤清單] 中顯示錯誤。Incompatible settings in CMakeSettings, such as mismatched architectures or incompatible CMake generator settings, show squiggles in the JSON editor and errors in the Error List.
- 只要執行了
vcpkg integrate install
,就會為 IDE 中開啟的 CMake 專案自動偵測和啟用 vcpkg 工具鏈。The vcpkg toolchain is automatically detected and enabled for CMake projects that are opened in the IDE oncevcpkg integrate install
has been run. 您可透過在 CMakeSettings 中指定空白的工具鏈檔案來關閉這個行為。This behavior can be turned off by specifying an empty toolchain file in CMakeSettings. - 根據預設,CMake 現在會啟用 Just My Code 偵錯。CMake projects now enable Just My Code debugging by default.
- 靜態分析警告現在可在背景處理,以及在 CMake 專案的編輯器中顯示。Static analysis warnings can now be processed in the background and displayed in the editor for CMake projects.
- 為 CMake 專案新增了更清楚的建置及設定 [開始] 和 [結束] 訊息,及 Visual Studio 建置進度 UI 的支援。We've added clearer build and configure 'begin' and 'end' messages for CMake projects and support for Visual Studio's build progress UI. 此外,[工具] > [選項] 中現在有 CMake 詳細資訊設定,可用來自訂輸出視窗中的 CMake 組建詳細等級及設定訊息。Additionally, there is now a CMake verbosity setting in Tools > Options to customize the detail level of CMake build and configuration messages in the Output Window.
- CMakeSettings 中現在支援 'cmakeToolchain' 設定,不必手動修改 CMake 命令列就能指定工具鏈。The 'cmakeToolchain' setting is now supported in CMakeSettings to specify toolchains without manually modifying the CMake command line.
後端Backend
- 我們進行了建置輸送量的功能改進,包括連結器對檔案 I/O 的處理,以及 PDB 合併與建立的連結時間。We've implemented build throughput improvements, including the linker's handling of File I/O and link time in PDB type merging and creation.
- 我們新增了 OpenMP SIMD 向量化的基本支援。We've added basic support for OpenMP SIMD vectorization. 新的 CL 參數 -openmp:experimental 可加以啟用。This can be enabled with the new CL switch -openmp:experimental. 這讓標註了 “#pragma omp simd” 的迴圈有機會向量化。This allows loops annotated with “#pragma omp simd” to potentially be vectorized. 向量化並不保證會發生,而已標註但未向量化的迴圈會收到回報的警告。The vectorization is not guaranteed, and loops annotated but not vectorized will get a warning reported. 若未支援任何 SIMD 子句,就會直接略過並回報警告。If no SIMD clauses are supported, they will simply be ignored and a warning will be reported.
- 我們新增了內嵌命令列參數 -Ob3,這是比 -Ob2 更為積極的版本。We've added a new inlining command line switch -Ob3, which is a more aggressive version of -Ob2. 根據預設,-O2 (將二進位檔最佳化以提高速度) 仍表示 -Ob2;若您發現編譯器內嵌不足,請考慮傳遞 -O2 -Ob3。-O2 (optimize the binary for speed) still implies -Ob2 by default; if you find the compiler is under-inlining, consider passing -O2 -Ob3.
- 為了支援包含數學程式庫函式及其他運算 (例如整數除法) 呼叫的迴圈手動向量化,我們新增了 Short Vector Math Library (SVML) 內建函式的支援,以計算 128 位元、256 位元或 512 位元的向量對等項目。To support hand vectorization of loops containing calls to math library functions and certain other operations like integer division, we've added support for Short Vector Math Library (SVML) intrinsic functions that compute the 128-bit, 256-bit or 512-bit vector equivalents. 若要了解支援函式的定義,請參閱 Intel Intrinsic Guide。See the Intel Intrinsic Guide for definitions of the supported functions.
- 新增及改進的最佳化:New and improved optimizations:
- 為使用 SIMD (向量) 內建項目的運算式提供常數摺疊和算數簡化,浮點數和整數形式均適用Constant-folding and arithmetic simplifications for expressions using SIMD (vector) intrinsics, for both float and integer forms
- 有更強大的分析可從控制流程 (if/else/switch 陳述式) 擷取資訊,以移除一律證實為 true 或 false 的分支A more powerful analysis for extracting information from control flow (if/else/switch statements) to remove branches always proven to be true or false
- 改進 memset 展開,以使用 SSE2 向量指令Improved memset unrolling to use SSE2 vector instructions
- 改進了未使用的結構/類別副本移除,尤其是依值傳遞的 C++ 程式Improved removal of useless struct/class copies, especially for C++ programs which pass by value
- 使用 memmove 改善了程式碼最佳化,例如 std::copy 或 std::vector 及 std::string 建構Improved optimization of code using memmove, such as std::copy or std::vector and std::string construction
淘汰項目Deprecations
- 不再提供 Managed C++ 測試專案範本。The Managed C++ Test Project template is no longer available. 您可以繼續在現有的專案中使用 Managed C++ 測試架構,但對於新的單元測試,請考慮使用 Visual Studio 有為其提供範本 (MSTest、Google Test) 或 Managed C# 測試專案範本的其中一個原生測試架構。You can continue using the Managed C++ Test framework in your existing projects but, for new unit tests, consider using one of the native test frameworks for which Visual Studio provides templates (MSTest, Google Test) or the Managed C# Test Project template.
- Visual Studio 安裝程式不再提供 Windows 8.1 SDK。The Windows 8.1 SDK is no longer available in the Visual Studio installer. 請將您的 C++ 專案升級到最新 Windows 10 SDK。Please upgrade your C++ projects to the latest Windows 10 SDK. 若您有 8.1 的強式相依性,可從 Windows SDK 封存加以下載。If you have a hard dependency on 8.1, you can download it from the Windows SDK archive.
- 最新的 C++ 工具組無法再將 Windows XP 設為目標。Windows XP targeting will no longer be available for the latest C++ toolset. VS 2017 級 MSVC 編譯器與程式庫的 XP 目標設定仍具備支援,並可透過「個別元件」安裝。XP targeting with VS 2017-level MSVC compiler & libraries is still supported and can be installed via "Individual components".
- 我們的文件積極勸阻您對 Visual C++ 執行階段部署使用合併模組。Our documentation actively discourages usage of Merge Modules for Visual C++ Runtime deployment. 我們在這個版本更進一步淘汰了 MSM。We are taking the extra step this release of marking our MSMs as deprecated. 請考慮將您的 VCRuntime 集中部署從 MSM 移轉到可轉散發套件。Consider migrating your VCRuntime central deployment from MSMs to the redistributable package.
- 下列 C++ ATL/MFC 精靈已無法再使用:ATL COM+ 1.0 元件精靈、ATL Active Server Pages 元件精靈、ATL OLE DB 提供者精靈、ATL 屬性頁精靈、ATL OLE DB 取用者精靈、MFC ODBC 取用者、來自 ActiveX 控制項的 MFC 類別及來自 Type Lib 的 MFC 類別。The following C++ ATL/MFC wizards are no longer available: ATL COM+ 1.0 Component Wizard, ATL Active Server Pages Component Wizard, ATL OLE DB Provider Wizard, ATL Property Page Wizard, ATL OLE DB Consumer Wizard, MFC ODBC Consumer, MFC class from ActiveX control, and MFC class from Type Lib. 這些技術的範例程式碼封存於 Microsoft Docs 和 VCSamples GitHub 存放庫。Sample code for these technologies is archived at Microsoft Docs and the VCSamples GitHub repository.
F#F#
Visual Studio 2019 中的 F# 改善有三個主要區域:F# improvements in Visual Studio 2019 are in three major areas:
- F# 4.6F# 4.6
- 中型和大型方案的重大效能改善Major performance improvements for medium and larger solutions
- 優秀開放原始碼社群的許多開放原始碼工作Lots of open source work by our excellent open source community
F# 4.6F# 4.6
此版本包含 F# 4.6 語言:This release contains the F# 4.6 language:
- 已新增匿名記錄類型到該語言,包括完整的工具支援,以及透過 Fable 編譯器將這些發出到 JavaScript 物件的能力。Anonymous Record types have been added to the language, including full tooling support and the ability to emit them types into JavaScript objects via the Fable compiler.
- 與 Option 類型同位的 ValueOption 類型和 ValueOption 模組函式。ValueOption type and ValueOption module function parity with Option type.
- 適用於陣列、清單和序列的 tryExactlyOne function,貢獻者為 Grzegorz Dziadkiewicz。tryExactlyOne function for arrays, lists, and sequences, contributed by Grzegorz Dziadkiewicz.
F# 編譯器和 FSharp.Core 的改善F# compiler and FSharp.Core improvements
F# 和編譯器以及 FSharp.Core 已經過許多改善,尤其是來自開放原始碼參與者:The F# and compiler and FSharp.Core have seen numerous improvements, especially from open source contributors:
- fsi.exe 和 fsc.exe 現在預設為 .NET Framework 4.7.2,讓載入以 4.7.2 或更低版本 .NET Framework 的元件變得可行 (#4946)。fsi.exe and fsc.exe now defaults to .NET Framework 4.7.2, allowing the loading of components targeting this framework or lower (#4946).
- 我們已將結構上的方法最佳化,並將記錄建構為具有與類別和類別型記錄相同的效能 (#3057)。We optimized methods on structs and struct records to perform as well as methods on classes and class-based records (#3057).
- 我們已在 F# 程式碼中最佳化為合併布林值邏輯發出的 IL (#635)。We optimized the emitted IL for combined Boolean logic in F# code (#635).
- 我們將在 F# 中搭配字串的
+
用法最佳化,以盡可能呼叫最少的String.Concat
(#5560)。We've optimized the use of+
with strings in F# to call the minimal amount ofString.Concat
calls as possible (#5560). - 我們修正了 FSharp.Core 套件中會包含多餘附測試資產之目錄的問題。We fixed an issue in the FSharp.Core package where some extra directories with test assets were included. FSharp.Core 4.5.5 和 4.6.1 已經沒有這項問題了 (#5814)。FSharp.Core 4.5.5 and 4.6.1 should have the fix (#5814).
- 當使用者定義的屬性不是繼承自
Attribute
類別時,您現在將會收到警告,由 Vasily Kirichenko 提供。When a user-defined attribute does not inherit from theAttribute
class, you will now receive a warning, by Vasily Kirichenko. - 專案檔中的
AssemblyInformationVersionAttribute
值現在支援任意值以支援 SourceLink 之類的案例 (#4822)。TheAssemblyInformationVersionAttribute
value in a project file now supports arbitrary values to support scenarios such as SourceLink (#4822). - 「主動式模式」不合法語法的錯誤 (Bug) 會導致內部編譯器錯誤的問題已由 Steffen Forkmann 解決 (#5745)。A bug where illegal syntax with Active Patterns would cause an internal compiler error has been fixed by Steffen Forkmann (#5745).
Module
尾碼錯誤地新增到遞迴模型中之模型以比對唯一差異是泛型參數之類型的錯誤 (Bug) 已由 BooksBaum 解決 (#5794)。A bug where theModule
suffix was erroneously added to a module in a recursive module to match a type where the only difference is a generic parameter was fixed by BooksBaum (#5794).- 當型別參數不與型別名稱鄰接時的錯誤訊息改良功能已由 Alan Ball 改良 (#4183)。An improvement to the error message when type parameters are not adjacent to a type name has been improved by Alan Ball (#4183).
uint16
常值尾碼正確地在無效數值常值的錯誤訊息中列出的問題是由 Teo Tsirpanis (#5712) 解決。Theuint16
literal suffix is listed correctly in the error messages for invalid numeric literals, by Teo Tsirpanis (#5712).- 計算運算式的錯誤訊息已不再訊息中說明
async
,而是改為意指「計算運算式」,這是由 John Wostenberg (#5343) 處理。Error messages for computation expressions no longer stateasync
in the message and instead refer to "computation expression(s)", by John Wostenberg (#5343). - F# 互動式中不正確地參考
.dll
的錯誤訊息已由 Bartoz Sypytkowski 修正 (#5416)。An error message when incorrectly referencing.dll
s in F# interactive was fixed by Bartoz Sypytkowski (#5416). - 當呼叫會隱藏繼承成員的成員時,靜態解析的類型參數無法予以處理,而 Victor Peter Rouven Müller 修正了這個 Bug (#5531)。A bug where Statically Resolved Type Parameters couldn't handle calling a member that hides an inherited member was fixed by Victor Peter Rouven Müller (#5531).
- Steffen Forkmann 和 Robert Jeppesen 為編譯器新增了各種小的效能改善。Various smaller performance improvements to the compiler have been added by Steffen Forkmann and Robert Jeppesen.
F# 效能改善F# performance improvements
Visual Studio 2019 中 F# 的另一個重要焦點區域是中型和大型方案的效能。Another big focus area for F# in Visual Studio 2019 has been performance for medium and large solutions. 我們已解決一些存在非常久的問題,某些可追溯至第一版的「適用於 Visual Studio 的 F# 工具」。We addressed some very long-standing issues, some of which dating back to the very first edition of F# tools for Visual Studio. 我們也獲得來自優秀 F# 開放原始碼社群的一些協助。We also got some help from the excellent F# open source community.
- 我們修改了 Roslyn 將 F# 語言服務初始化的方式。We've revamped how the F# language service is initialized by Roslyn. 大型解決方案的類型色彩標示應該會較快出現。Type colorization for larger solutions should generally appear sooner.
- 我們已變更我們來源文字的呈現方式,來避免大型配置超過時間,特別是具有大型檔案的配置 (#5935、#5936、#5937、#4881)。We changed our representation of source text to avoid large allocations over time, especially with bigger files (#5935, #5936, #5937, #4881).
- 我們已變更小型檔案編輯的建置快取,大幅減少使用的記憶體 (#6028)。We changed our build caches for small edits to files to use significantly less memory (#6028).
- 我們修改了建議名稱的編譯器功能,當輸入無法辨識的語彙基元時,系統會在需要時才計算這些建議,這樣大幅減少了在大型專案中緩慢輸入時的 CPU 和記憶體使用量 (#6044)。We modified a compiler feature that suggests names when unrecognized tokens are typed to only compute these suggestions on-demand, resulting in significant CPU and memory reductions when typing slowly in larger solutions (#6044).
- 我們已變更 IntelliSense,因此它預設不會再顯示來自未開啟之命名空間的符號。We changed IntelliSense so that it will no longer show symbols from unopened namespaces by default. 此修正大幅改善在含許多參考的專案中之 IntelliSense 的效能。This notably improves performance for IntelliSense in projects with many references. 您可以透過設定中的 [工具] > [選項] > [文字編輯器] > [F#] > [IntelliSense],再次開啟此功能。This feature can be turned back on in the settings via Tools > Options > Text Editor > F# > IntelliSense.
- 我們已減少使用型別提供者在完成清單中產生非常大量的提供類型時的記憶體使用量 (#5599)。We improved memory usage when using Type Providers to generate very large amounts of provided types in a completion list (#5599).
- Avi Avni 已修正建議無法辨識之名稱的內部字串比較演算法,以減少 CPU 和記憶體使用量 (#6050)。A reduction to CPU and memory usage to an internal string comparison algorithm for suggesting unrecognized names has been fixed by Avi Avni (#6050).
- Avi Avni 修正了大型字串配置的顯著來源,這種情況在 IDE 工具特別常見 (#5922)。A notable source of large string allocations, particularly for IDE tooling, was fixed by Avi Avni (#5922).
- Chet Husk 已修正來自計算 IntelliSense 之值得注意的大型物件堆積配置來源 (#6084)A notable source of Large Object Heap allocations coming from computing IntelliSense has been fixed by Chet Husk (#6084)
F# 工具的改善F# tooling improvements
除了效能改善,還有 Visual Studio 2019 F# 工具的各種其他改善:In addition to performance improvements, various other improvements to F# tooling for Visual Studio 2019 have been made:
- 新增
open
陳述式程式碼修正現在將會預設為在檔案頂端新增open
陳述式。The Addopen
statement code fix will now default to adding theopen
statement at the top of the file. - 我們已修正使用者程式碼中的
match!
使結構指導方針與程式碼 (概述後續範圍節點) 無效的錯誤 (Bug) (#5456)。We fixed a bug wherematch!
in user code invalidated structure guidelines and code outlining nodes for subsequent scopes (#5456). - 編輯器現在將會使用可變動值顏色標示正確地將
byref
、outref
與ref
值的色彩設定為與記錄欄位相同 (#5579)。The editor will now correctly colorbyref
,outref
, andref
values as record fields with the mutable value colorization (#5579). - 我們已修正重新命名重構無法識別符號名稱中之
'
字元的問題 (#5604)。We fixed a bug where the rename refactoring did not recognize the'
character in symbol names (#5604). - 我們修正了為 F# 指令檔重新命名會導致色彩標示資料遺失的長期 Bug (#1944)。We've fixed a longstanding bug where renaming F# script files resulted in a loss of colorization data (#1944).
- 我們清理了 IntelliSense,使它在按一下退格鍵時不會在清單中顯示不相關的項目。We cleaned up IntelliSense so that it doesn't show unrelated items in the list when pressing backspace.
- 當「智慧」縮排開啟時,貼上 F# 程式碼到編輯器中會設定其格式以符合適當的範圍 (以目前的游標位置為基礎) 是由 Saul Rennison 實作 (#4702)。With "Smart" indentation on, pasting F# code into the editor will now format it to match an appropriate scope based on the current cursor position, implemented by Saul Rennison (#4702).
- Jakob Majocha 修正了 F# 編輯器不會同步的問題 (#5997, #5998)。An issue where F# editor options weren't syncing has been fixed by Jakob Majocha (#5997, #5998).
- Eugene Auduchinok 已修正 IntelliSense 在
inherit
子句內的建構函式中,不會顯示主要建構函式的錯誤 (bug) (#3699)A bug where IntelliSense in a constructor within aninherit
clause wouldn't show the primary constructor has been fixed by Eugene Auduchinok (#3699) - Eugene Auduchinok 對 F# 語言服務進行了各種較小的改善Various smaller improvements to the F# language service have been made by Eugene Auduchinok
F# 開放原始碼基礎結構F# open source infrastructure
我們已完全移轉 F# 和 F# 工具程式碼基底,以使用 .NET SDK。We've fully migrated the F# and F# tools codebase to use the .NET SDK. 這可大幅簡化開發人員的貢獻程序,尤其對不是使用 Windows 的開發人員。This dramatically simplifies the contribution process for developers, especially if they are not using Windows. 此外,Jakob Majocha 已協助根據程式碼基底的變更為新參與者清理文件。Additionally, Jakob Majocha has helped in cleaning up documents for new contributors in light of the changes to the codebase.
PythonPython
根據客戶意見反應,Visual Studio 2019 包括管理 Python 環境的檢修體驗:Based on customer feedback, Visual Studio 2019 includes an overhauled experience for managing Python environments:
- 我們已加入新的 [新增環境] 對話方塊,這可以簡化在您的專案中建立及新增虛擬環境與 conda 環境的體驗。We added a new Add environment dialog that simplifies the experience of creating and adding virtual environments and conda environments in your project.
- Visual Studio 安裝程式再也不會安裝完整版 Anaconda 以減少 Visual Studio 安裝大小並避免升級期間的錯誤。The Visual Studio installer no longer installs full versions of Anaconda to reduce the size of Visual Studio installs and avoid errors during upgrades.
- Miniconda 與 Python 工作負載組合成選用元件,讓您不必安裝 Miniconda/Anaconda,就可以建立 conda 環境。Miniconda is bundled with Python workload as an optional component, enabling you to create conda environments without having to install Miniconda/Anaconda.
- 若您專案的根目錄有 requirements.txt (虛擬環境) 或 environment.yml (conda 環境),系統將會自動提示您新增環境。You will now be automatically prompted to add an environment if a requirements.txt (virtual environment) or environment.yml (conda environment) is present at the root of your project.
- 在編輯 Python 檔案時,有新的 [Python 環境] 工具列可用。A new Python Environments toolbar is available when editing Python files. 新的工具列可讓您在處理專案、[開啟資料夾] 工作區或其他專案中的鬆散 Python 檔案時,在不同 Python 解譯器之間切換。The new toolbar enables you to switch between different Python interpreters when working with projects, Open Folder workspaces or loose Python files in other projects.
- Python IntelliSense 中自動完成的品質改善,包括偵測相關項目和命名空間匯入的改善。Improvements to the quality of auto-completions in Python IntelliSense, including improved detection of relative and namespace imports.
- Django 專案範本已更新,以支援 Django 2.x。Django project templates have been updated to support Django 2.x.
- 函式傳回值現在會顯示在 Python 偵錯工具中。Function return values are now shown in the Python debugger.
- 您現在可以建立 VS Live Share 工作階段,並與其他 Visual Studio 使用者在 Python 程式碼上共同作業。You can now create VS Live Share sessions and collaborate on Python code with other Visual Studio users. 先前,從 Visual Studio Code 建立加入工作階段建立時,才支援 Python。Previously, Python was only supported when joining sessions created from Visual Studio Code.
JavaScript/TypeScriptJavaScript/TypeScript
- 我們新增了在 Node.js 專案中的單元測試提供 JavaScript 偵錯功能的支援。We have added support for enabling JavaScript debugging within unit tests in Node.js projects. 這是 Node.js 客戶期盼已久的功能。This was a long-requested feature from our Node.js customers.
- JavaScript/TypeScript 語言服務會在自動在已安裝的 TypeScript NuGet 套件或 npm 套件的專案中載入 (NuGet 套件支援 TypeScript 3.2 以上的版本,npm 套件則支援 TypeScript 2.1 以上的版本)。The JavaScript/TypeScript language service will now be automatically loaded in projects that have the TypeScript NuGet package or npm package installed (TypeScript 3.2 and up is supported from the NuGet package and TypeScript 2.1 and up is supported from the npm package).
- 我們提高了語言功能的記憶體上限,使其能夠更處理更大型的專案,藉此改善了語言服務的效能。We have implemented performance improvements in the language service as a result of increasing the memory cap on the language service to handle larger projects.
- 根據預設,不會再於錯誤清單中顯示已關閉 JavaScript/TypeScript 檔案的診斷。We no longer show diagnostics of closed JavaScript/TypeScript files in the error list by default.
- 傳統 JavaScript 語言服務已無法使用。The legacy JavaScript language service is no longer available. 先前,使用者可以選擇還原傳統 JavaScript 語言服務。Previously, users had the option of restoring the legacy JavaScript language service. 使用者將會有新的內建 JavaScript 語言服務可用。Users will now have the new JavaScript language service out-of-the-box. 新語言服務是以 TypeScript 語言服務為基礎,它是由靜態分析所提供。The new language service is based on the TypeScript language service, which is powered by static analysis. 這可為您提供更豐富的工具功能,因此您的 JavaScript 程式碼可受益於以型別定義為基礎的更豐富的 IntelliSense。This enables better tooling, so your JavaScript code can benefit from richer IntelliSense based on type definitions. 新的服務是輕量型服務,而且取用比傳統服務少的記憶體,為使用者提供更好的較能做為其程式碼規模。The new service is lightweight and consumes less memory than the legacy service, providing users with better performance as their code scales.
Team Explorer 與 Azure DevOpsTeam Explorer and Azure DevOps
我們對 Azure DevOps 的 Git 工作項目進行了功能改進。We have made improvements to the Git Work Items experience with Azure DevOps.
- 您可以使用新的身分識別選擇器指派工作項目給自己或其他人。Assign work items to yourself or others with the new identity picker. 根據預設,您會看到最近使用的人員清單。By default, you will be shown a list of the people you have most recently used. 或者,您可以使用搜尋功能來搜尋及尋找組織中的其他人。Or, use the search ability to search and find others in your organization.
- 我們改善了註解訊息中的 #提及體驗。We have improved the #mentions experience in the commit message. 當您從 #提及選擇器中選取工作項目時,該項目就會自動新增到 [相關的工作項目] 清單中。As you select a work item from the #mention picker, it will automatically be added to the Related Work Items list.

最忙碌路徑反白顯示Hot Path Highlighting
- 我們在效能分析工具的 CPU 使用率和 DotNet 物件配置工具中,都新增了最忙碌路徑反白顯示的支援。We have added support for hot path highlighting in both the CPU Usage and DotNet Object Allocation tools in the Performance Profiler. 選取呼叫樹狀結構中的任何函式,並按 [最忙碌路徑] 按鈕,即可展開 CPU 使用率或 DotNet 物件配置的最忙碌路徑。Select any function in the call tree and press the hot path button to expand the CPU Usage or Dot Net Object Allocation hot path. 這項功能可讓您輕易找出使用了最高 CPU 百分比或配置了最多物件的函式呼叫。This feature allows you to easily identify the function calls which use the highest percentage of the CPU or that allocate the most objects.

.NET 與 ASP.NET 工具.NET and ASP.NET Tools
- 我們對所有應用程式的發行設定檔摘要頁面進行了多種小規模的 UX 改進 (新的區段標題和動作/快速鍵)。We have implemented various small UX improvements to the publish profile summary page (new section headers and actions/shortcuts) for all applications.
- 在將 ASP.NET 應用程式發行到 Azure App Service 時,發行設定檔摘要頁面現在會有名為「相依性」的新區段。When publishing ASP.NET applications to Azure App Service, the publish profile summary page now has a new section called "Dependencies". 這個新區段目前可讓您在 Azure 儲存體和 Azure SQL 資源與您的應用程式服務執行個體之間建立關聯。This new section currently allows you to associate Azure Storage and Azure SQL resources with your app service instance. 日後,會有更多 Azure 服務透過這種機制呈現。Expect more Azure services to be surfaced through this mechanism in the future.
- 透過我們加入的相容性,使用程式碼度量搭配 .NET Core 專案。Use code metrics with .NET Core projects with our added compatibility.
- 透過 [工具] > [選項] > [文字編輯器] > [C#] > [程式碼樣式] 使用 [從設定產生 .editorconfig 檔案] 按鈕,將編輯器設定匯出到 Editorconfig 檔案。Export editor settings to an Editorconfig file through Tools > Options > Text Editor > C# > Code Style with the button "Generate .editorconfig file from settings".
- 使用 C# 與 Visual Basic 的新 Regex 剖析器支援。Use C# and Visual Basic's new Regex parser support. 現在可辨識規則運算式,而且已在其上啟用語言功能。Regular expressions are now recognized, and language features are enabled on them. Regex 字串會在在字串傳遞到 Regex 建構函式或字串前面有包含字串
language=regex
的註解時辨識。Regex strings are either recognized when a string is passed to the Regex constructor or when a string is immediately preceded with a comment containing the stringlanguage=regex
. 此版本中包含的語言功能為分類、括號對稱、反白參考與診斷。The language features included in this release are classification, brace matching, highlight references, and diagnostics.

- 您現在可以搭配選擇性的程式碼修正為未使用的私用成員使用無作用程式碼分析,以移除未使用的成員宣告。You can now use dead code analysis for unused private members with an optional code fix to remove unused member declaration.
- 存取子上的「尋找參考」功能現在只會傳回該存取子的結果。The Find References feature on an accessor now only returns results for that accessor.
- 我們已加入程式碼修正以產生解構方法。We have added a code fix for generating a deconstruct method.
- 當程式碼貼到檔案中時,可已新增 "Using" 陳述式。"Using" statements can be added when code is pasted into a file. 程式碼修正會在貼上已辨識程式碼 (提示您新增相關遺失匯入) 之後出現。A code fix appears after pasting recognized code that prompts you to add relevant missing imports.
- 現在有更多的重構與快速動作可以使用 "Ctrl + ." 來取得There are now more refactoring and quick actions available by using "Ctrl + ." 或按一下 "Alt + Enter":or "Alt + Enter":
- 針對隱含 "await" 但忽略的案例,現在有編譯器警告。For cases where "await" is implied but omitted, there is now a compiler warning.
- 針對將區域函式轉換為方法。For converting a local function to a method.
- 針對將元組轉換為具名結構。For converting a tuple to a named-struct.
- 針對將匿名型別轉換為類別。For converting an anonymous type to a class.
- 針對將匿名型別轉換為元組。For converting an anonymous type to a tuple.
- 針對 foreach loop 到 LINQ 查詢或 LINQ 方法。For a foreach loop to LINQ query or to LINQ method.
- 您現在已新增對在 Azure Kubernetes Service 中執行之 ASP .NET Core 應用程式的支援。You now have added support for ASP .NET Core applications running in an Azure Kubernetes Service. 若要開始,請參閱 GitHub 上的此 docker 範例。To get started, see this docker example over on GitHub.
- 現在效能分析工具的 CPU 使用量工具支援 ASP.NET。ASP.NET is now supported in the CPU Usage tool of the Performance Profiler.

- 您現在可以使用 [尋找所有參考] (Shift+F12) 與 CodeLens 來顯示來自 .NET Core 專案中之 Razor (.cshtml) 檔案的結果。You can now use Find All References (Shift-F12) and CodeLens to show results from Razor (.cshtml) files in .NET Core projects. 您接著可以瀏覽到相關 Razor 檔案中指出的程式碼。You can then navigate to the identified code in the relevant Razor files.
- 我們已新增以 Windows 虛擬機器 (VM) 與 VM 擴展集上執行之 ASP .NET (Core 與 Desktop) 應用程式為目標的支援。We've added support for targeting ASP .NET (core and desktop) applications running on Windows Virtual Machines (VM) and VM Scale Sets.

- 現在當您使用 FxCop 執行程式碼分析時會收到警告。You will now receive a warning when running code analysis using FxCop. 建議以後使用 .NET 編譯器分析器來執行程式碼分析。.NET Compiler analyzers are the recommended way to perform code analysis going forward. 深入了解移轉到 .NET 編譯器平台分析器。Read more on migrating to .NET compiler platform analyzers.
- 已不再提供可攜式類別庫 (PCL) 專案範本,而且預設不會安裝專案支援。Portable Class Library (PCL) project templates are no longer available, and project support will not be installed by default. 想要以多個平台為目標的新專案應該使用 .NET Standard 專案類型。New projects intended to target multiple platforms should use the .NET Standard project type. 需要 PCL 專案支援的客戶必須從 Visual Studio 安裝程式的 [個別元件] 索引標籤個別安裝該元件。Customers who require PCL project support must install the component separately from the Individual Components tab in the Visual Studio installer.
- 已不再提供 "Project.CopyWebSite" 命令。The "Project.CopyWebSite" command is no longer available. 此功能只有在 .NET 上的「網站」專案類型中可用。This feature was only available on the "Web Site" project type for .NET. 它可讓您同步兩個網站,讓其上的每個檔案都有相同的版本。It provided the ability to synchronize two web sites so that they have the same version of each file. 在 Visual Studio 2019 中,您可以從 Visual Studio 外的遠端目的地複製檔案,然後開啟專案。In Visual Studio 2019, you can copy the files from the remote destination outside of Visual Studio and then open the project.
- 已移除從遠端 FTP 位址開啟網站專案的能力。The ability to open a Web Site project from a remote FTP location has been removed. FTP 使用者可以從 Visual Studio 外的遠端目的地複製檔案、開啟專案並進行變更,然後使用「發佈到」功能將它們發佈回遠端 FTP 位置。FTP users can copy the files from the remote destination outside of Visual Studio, open the project and make changes, and then use publish to push them back to the remote FTP location.
- ASP.NET 與 Web 工作負載已不會再安裝自訂 offeeScript 編輯體驗。The ASP.NET and Web workload no longer installs a custom CoffeeScript editing experience. Visual Studio 的 TextMate 套件組合提供可處理 CoffeeScript 的卓越體驗。Visual Studio's TextMate bundles provide a superior experience for working with CoffeeScript.
- 編輯那些檔案時,目前由內建 CSSLint 與 CoffeeLint 複本產生的 CSS 與 CoffeeScript 錯誤再也不會自動呈現。CSS and CoffeeScript errors that are currently generated by built-in copies of CSSLint and CoffeeLint will no longer automatically surface when editing those files. 使用替代方法執行 Linter (例如 npm 或 Visual Studio 工作執行器總管)。Use an alternative method for running linters such as npm or the Visual Studio Task Runner Explorer.
- Visual Studio 再也不會為 Knockout HTML 屬性提供 IntelliSense。Visual Studio no longer provides IntelliSense for Knockout HTML attributes. 在 Visual Studio 2019 中,您將必須輸入屬性。In Visual Studio 2019 you will need to type the attributes.
- 已移除在 ASP.NET 專案中使用傳統 Chrome 偵錯工具來針對 JavaScript 進行偵錯的功能。The ability to use the Legacy Chrome debugger in ASP.NET projects for debugging JavaScript has been removed. 您可以繼續使用目前內建在 Visual Studio 中的 Chrome 偵錯工具。You can continue to use the current Chrome debugger built into Visual Studio.
- 已移除在 ASP.NET 專案中使用 JavaScript 主控台功能的能力。The ability to use JavaScript Console functionality in ASP.NET projects has been removed. 建議客戶使用包含在他們慣用瀏覽器開發工具中的 [主控台]。We recommend that customers use Console included within their favorite browser devtools.
容器工具Container Tools
- 我們新增了用於容器化及偵錯並經過簡化的單一專案體驗:We've added a streamlined single-project experience for containerizing and debugging:
- ASP.NET Web 應用程式 (.NET Framework)ASP.NET Web Applications (.NET Framework)
- 主控台應用程式 (.NET Core)Console Applications (.NET Core)
- 我們為使用 Alpine 作為基礎映像的 ASP.NET Core 應用程式新增了對其偵錯的支援。We've added support for debugging ASP.NET Core Applications that use Alpine as a base image.
- 我們新增了最新 ASP.NET 和 .NET Core 映像的支援。We've added support for the latest ASP.NET and .NET Core images.
.NET Core 工具.NET Core tools
.NET Core 3.0.NET Core 3.0
在此版本中,如果您安裝了 Preview SDK,您可以建立針對 .NET Core 3.0 的 ASP.NET Core、主控台和類別程式庫專案。With this release, you can create ASP.NET Core, Console, and Class Library projects targeting .NET Core 3.0 if you have the preview SDK installed.
如果您使用 Visual Studio RC,您也需要前往 [工具] > [選項] > [專案和方案] > [.NET Core],然後選取 [使用 .NET Core SDK 預覽核取方塊]。If you are using Visual Studio RC, you need to also go to Tools > Options > Projects and Solutions > .NET Core and check the Use previews of the .NET Core SDKs checkbox. 如果您使用 Visual Studio Preview,則不需要執行這項操作。If you are using Visual Studio Preview, you do not need to do this. 您可以在 .NET Core tooling update for Visual Studio 2017 version 15.9 (Visual Studio 2017 15.9 版的 .NET Core 工具更新) 中閱讀此設定及其行為的詳細資訊。You can read more about this setting and its behavior in .NET Core tooling update for Visual Studio 2017 version 15.9.
您也可以使用 "dotnet new" 命令,為 .NET Core 3.0 建立 Windows Forms 或 WPF 專案。You can also create Windows Forms or WPF projects for .NET Core 3.0 with the "dotnet new" command. 接著即可以在 Visual Studio 2019 中開啟這些專案。These projects can then be opened in Visual Studio 2019.
新功能New features
從這個版本開始,我們會讓 .NET SDK 樣式專案的專案檔變成 Visual Studio 中的第一級檔案類型。Starting with this release, we are making project files for .NET SDK-style projects a first-class file type in Visual Studio. 現在支援下列功能:The following is now supported:
- 按兩下專案節點開啟專案檔Double-click a project node to open the project file
- 按一下專案節點在 [預覽] 索引標籤中開啟專案檔Single-click the project node to open the project file in a Preview tab
- 使用 [移至全部] 依名稱尋找專案檔 (
ctrl + T
)Find a project file by name with Go to All (ctrl + T
) - 現在可使用 [檔案中尋找] 搜尋專案檔中的 MSBuild 元素MSBuild elements in a project file now are searchable with Find in Files
- 若出發了專案撰寫錯誤,就會從錯誤清單開啟Opening from the error list if a project authoring error is triggered
此外,.NET SDK 樣式的專案現在會使用新的整合式主控台,以在主控台應用程式使用 F5
和 ctrl + F5
。Additionally, .NET SDK-style projects will now use the new Integrated Console experience for F5
and ctrl + F5
on console apps. 這使得從 Visual Studio 啟動主控台應用程式時的體驗達成一致:This unifies the experience when launching console applications from Visual Studio:
- 若是
F5
,主控台視窗不會在應用程式完成執行時自動關閉。ForF5
, the console window will not automatically close when the app is finished executing. 您不必再將Console.Read()
呼叫新增到您的主控台應用程式。You no longer need to addConsole.Read()
calls to your console apps. - 若是
ctrl + F5
,主控台視窗會在應用程式的後續執行中重複使用。Forctrl + F5
, the console window will be re-used in subsequent runs of your app. 您不必再關閉主控台視窗的負載。You no longer need to close loads of console windows.
在新的主控台視窗開啟時按任意鍵,或選取 [工具] > [選項] > [偵錯停止時,自動關閉主控台] 下的選項,即可自動關閉。The new console window can be closed automatically by pressing a key when it is open or by selecting the option under Tools > Options > Automatically close the console when debugging stops.
已將授權運算式和授權檔案的支援新增到專案屬性頁面。Support for License Expressions and License Files has now been added to project property pages. 這是配合 NuGet 中淘汰 licenseUrl
的變更。This aligns with changes to deprecate licenseUrl
in NuGet.
效能改善Performance improvements
- 已大幅改善大型方案的延展性,讓您能使用比之前更大的 .NET Core 方案。The scalability of large solutions has been significantly improved, allowing the use of much larger .NET Core solutions than before.
- 已大幅減少大型專案的方案載入時間,且載入時的 CPU 和記憶體也減少了。Solution load times for large projects have been significantly reduced, as has the CPU and memory usage when loading them.
非 .NET Core 專案的功能同位對照Feature parity with non-.NET Core projects
- 除非強制重新載入專案,否則在設計階段不會反映設定變更,這長久以來的問題已經解決。A long-standing issue where configuration changes were not respected at design-time, forcing a project reload, has been addressed.
- 現在能夠在 ASP.NET Core 專案中從 Razor 移至定義到 C#。It is now possible to Go to definition from Razor to C# in ASP.NET Core projects.
- 現已支援 AvailableItemName 項目。There is now support for AvailableItemName Items.
- 現已支援透過萬用字元新增到專案之相依性檔案的自動巢狀結構。There is now support for automatic nesting of dependent files which are added to the project via globbing.
- William Kent 已新增 XamlAppDef 的支援。Support for XamlAppDef has been added by William Kent.
您可以在 16.0、16.0 Preview 2、16.0 Preview 3 和 16.0 Preview 4 里程碑中找到問題和提取要求的完整清單。You can find a full list of issues and pull requests in the 16.0, 16.0 Preview 2, 16.0 Preview 3, and 16.0 Preview 4 milestones.
.NET 生產力.NET Productivity
.NET 重構和程式碼修正:.NET refactorings and codefixes:
- 同步命名空間和資料夾名稱Sync Namespace and Folder Name
- 含有對話方塊選項的成員上移重構Pull members up refactoring with dialog options
成員上移對話方塊Pull Members Up dialog - 包裝/縮排/對齊參數/引數的清單Wrap/indent/align lists of parameters/arguments
- 將匿名型別轉換為元組Convert anonymous type to tuple
- 對 Lambda 使用運算式/區塊主體Use expression/block body for lambda
- 轉換條件運算式和邏輯運算Invert conditional expressions and logical operations
- 自動在遇到 “/” 時關閉區塊註解Automatically close block comment on “/”
- 轉換為複合指派Convert to compound assignment
- 修正隱含型別變數不可為常數的情況Fix Implicitly-typed variables cannot be constant
- 自動修正程式可在鍵入插入逐字字串時,以
$@"
取代@$"
Auto-fixer to replace@$"
with$@"
when typing interpolated verbatim string - 完成
#nullable enable|disable
Completion for#nullable enable|disable
- 修正未使用的運算式值和參數Fix for unused expression values and parameters
- 修正可讓擷取介面保留在相同檔案中Fix for allowing Extract Interface to remain in the same file
依 R/W 為參考分類。Categorize references by Read/Write.
為 csharp_prefer_braces 新增 Editorconfig when_multiline 選項。Add Editorconfig when_multiline option for csharp_prefer_braces.
.NET Compiler Platform SDK (又名 Roslyn) 提供新的分類色彩。New classification colors are available from the .NET Compiler Platform SDK (aka Roslyn). 新的預設色彩與 Visual Studio Code 色彩類似,會逐步推出。您可在 [工具] > [選項] > [環境] > [字型和色彩] 中調整這些色彩,或在 [環境] > [預覽功能] 中取消選取 [使用增強色彩] 核取方塊予以關閉。New default colors, similar to the Visual Studio Code colors, are gradually being rolled out. You can adjust these colors in Tools > Options > Environment > Fonts and Colors or turn them off in Environment > Preview Features by unchecking the Use enhanced colors check box. 歡迎提供意見反應,讓我們知道這項變更如何影響您工作流程。We’d appreciate hearing feedback on how this change affects your workflow.

ASP.NET 專案中的 JavaScript 偵錯JavaScript Debugging in ASP.NET projects
- 若您使用 ASP.NET 專案的 [瀏覽方式...] 功能表,以自訂引數新增了 Google Chrome 瀏覽器,Visual Studio 現在會在偵錯開始時,為您的應用程式啟用 JavaScript 偵錯。If you have added a new Google Chrome browser with custom arguments using the "Browse with..." menu for your ASP.NET project, Visual Studio will now enable JavaScript debugging for your application when debugging is started. 您的 Google Chrome 自訂啟動引數會在啟動 Chrome 時套用。Your custom launch arguments for Google Chrome will be applied when launching Chrome.

ASP.NET & Azure Functions 工具ASP.NET & Azure Functions tooling
- Visual Studio 2019 帶來了全新的專案建立體驗。Visual Studio 2019 comes with a new experience for creating new projects. 特別是在建立新的 ASP.NET 專案時,Visual Studio 會提供能呈現 ASP.NET 特定選擇的額外對話方塊。When creating new ASP.NET projects specifically, Visual Studio offers additional dialogs that surface ASP.NET specific choices. 這些額外對話方塊已經過更新,能符合體驗中其他部分的視覺效果樣式。These additional dialogs have been updated to match the visual style of the rest of the experience.
- 直到現在,在 Visual Studio 中進行的認證發行都會經過加密,並儲存到發行設定檔使用者檔案內,使您不必每次發行應用程式都需要重新輸入它們。For a while now, publish credentials in Visual Studio are encrypted and stored in the publish profile user file so you don't have to re-enter them every time you publish your application. 因為使用者檔案較可能包含祕密和不應共用的個人資訊,所以一般會排除在原始檔控制之外。User files in general are excluded from source control by default because they are likely to contain secret and/or personal information that should not be shared. 目前為止,如果有 Azure Functions 專案的發行設定檔簽入了原始檔控制,但使用者檔案卻沒有簽入的話,就會失去發行認證,並使得發行設定檔無法受到重複使用。Up until now, if a publish profile for an Azure Functions project was checked into source control but the user file was not, the publish credentials were missing and the publish profile could not be re-used. 現在,我們允許編輯認證和建立新使用者檔案,以便發行設定檔能受到重複使用。Now, we allow for the credentials to be edited and a new user file to be created so that the publish profile can be re-used.
效能精靈Performance Wizard
在 Visual Studio 2019 中,「效能精靈」中提供的分析體驗已移至「效能分析工具」。In Visual Studio 2019, the profiling experiences that were available in the Performance Wizard have been moved to the Performance Profiler. 您可以找到可用來取樣的「CPU 使用量工具」,並在「效能分析工具」中的檢測工具中找到檢測。You can find the CPU Usage Tool for sampling, and instrumentation in the Instrumentation tool in the Performance Profiler. 由於此變更,再也不需要「效能精靈」,因此 Visual Studio 2019 已將它移除。With this change the Performance Wizard is no longer needed and has been removed from Visual Studio 2019. 此外,已移除 VS 效能命令列工具中的取樣選項,將在未來的預覽版中推出替代命令列工具。Additionally, the sampling option in the VS Performance command line tools have been removed, a replacement command line tool will be released in an upcoming preview.
測試工具Test Tools
- 您可以以滑鼠右鍵按一下 [方案總管] 中的測試、測試類別或測試專案以執行測試或針對測試進行偵錯。You can now right-click on tests, test classes or test projects in the Solution Explorer to run or debug tests.
- 測試回合現在會自動偵測專案屬性中設定的是哪個處理器架構。Test runs now auto-detect what processor architecture is set in the project properties.
- OSS UI 測試工具 (例如 Selenium 與 Appium) 已獲得動力且非常受社群歡迎。OSS UI test tools such as Selenium and Appium have gained momentum and have a strong community backing. 因為這些架構已成為產業標準,我們已將用於自動化 UI 驅動功能測試的「自動程式化 UI 測試」設定為過時。Because these frameworks have become industry standards, we deprecated Coded UI test for automated UI-driven functional testing. Visual Studio 2019 將會是具有「自動程式化 UI 測試」功能的最終 Visual Studio 版本。Visual Studio 2019 will be the final version of Visual Studio with Coded UI test features. 我們建議您使用 Selenium 測試 Web 應用程式,而使用 Appium 與 WinAppDriver 測試傳統型與 UWP 應用程式。We recommend using Selenium for testing web-applications and Appium with WinAppDriver for testing desktop and UWP apps.
- Visual Studio 2019 將會是具有負載測試功能的最終 Visual Studio 版本。Visual Studio 2019 will be the last version of Visual Studio with load test features. 針對需要負載測試工具的客戶,我們建議使用替代的負載測試工具,例如 Apache JMeter、Akamai CloudTest、Blazemeter。For customers requiring load testing tools, we recommend using alternate load testing tools such as Apache JMeter, Akamai CloudTest, Blazemeter.
- 在 Visual Studio 2019 中,會移除一些先前標記為公用,但從未正式記載的測試視窗 API。In Visual Studio 2019, some test window APIs that were previously marked public but were never officially documented have been removed. 它們在 Visual Studio 2017 中標示為「已過時」,可為延伸模組維護人員提供初期警告。They were marked deprecated in Visual Studio 2017 to give extension maintainers an early warning. 據我們所知,很少有延伸模組相依於這些 API。To our knowledge, very few extensions have taken a dependency on these APIs. 這些 APIs 包括 IGroupByProvider、IGroupByProvider、KeyComparer、ISearchFilter、ISearchFilterToken、ISearchToken 與 SearchFilterTokenType。These APIs include IGroupByProvider, IGroupByProvider, KeyComparer, ISearchFilter, ISearchFilterToken, ISearchToken and SearchFilterTokenType. 如果此變更會影響您的延伸模組,請在開發人員社群提交問題讓我們知道。If this change affects your extension, please let us know by submitting an issue on Developer Community.
Visual Studio Kubernetes ToolsVisual Studio Kubernetes Tools
Visual Studio Kubernetes Tools 原先以 Visual Studio 2017 的獨立延伸模組形式提供,現在則整合到 Visual Studio 2019 的 Azure 開發 工作負載中。The Visual Studio Kubernetes Tools, which were previously available as a separate extension for Visual Studio 2017, are now integrated into the Azure development workload in Visual Studio 2019.
在新專案新增 Kubernetes 支援Adding Kubernetes support to a new project
若要在新專案新增 Kubernetes 支援,請開啟 Visual Studio,然後選取 [建立新專案] 選項。To add Kubernetes support to a new project, open Visual Studio and select the Create a new project option. 在 [建立新專案] 視窗中搜尋 Kubernetes,然後選取 [適用於 Kubernetes 的容器應用程式] 專案範本。In the Create a new project window, search for Kubernetes and select the Container Application for Kubernetes project template.

按一下 [下一步],然後輸入專案名稱、位置和解決方案名稱。Click Next and enter a project name, location, and solution name. 接著按一下 [ 建立]。Then, click Create. 選取您要用於專案的 ASP.NET Core 應用程式範本,然後按一下 [確定]。Select the ASP.NET Core application template you want to use for your project and click OK. Visual Studio 會自動建立 Docker 檔案和 Helm 圖表,可供您用來建置新的應用程式並部署到 Kubernetes 叢集。Visual Studio will automatically create a Dockerfile and Helm chart that you can use to build and deploy your new application to a Kubernetes cluster. 如有需要,您可以修改這些成品。You can modify these artifacts as needed.
在現有的專案新增 Kubernetes 支援Adding Kubernetes support to an existing project
您可在現有的 ASP.NET Core 應用程式新增 Kubernetes 支援。You can also add support for Kubernetes to an existing ASP.NET Core application. 若要這樣做,請在 Visual Studio 2019 中開啟專案。To do this, open the project in Visual Studio 2019. 在方案總管中,以滑鼠右鍵按一下專案,指向 [新增],然後按一下 [容器協調器支援]。In Solution Explorer, right click on the project, point to Add, and click Container Orchestrator Support.

在 [容器協調器支援] 對話方塊中,選擇 [Kubernetes/Helm],然後按一下 [確定]。In the Add Container Orchestrator Support dialog, choose Kubernetes/Helm and click OK. Visual Studio 會自動建立 Docker 檔案和 Helm 圖表 (在名為 charts 的資料夾中),可供您用來建置應用程式並部署到 Kubernetes 叢集。Visual Studio will automatically create a Dockerfile and Helm chart (in a folder named charts) that you can use to build and deploy your application to a Kubernetes cluster. 如果這些成品有其中一個已經就緒,則不會覆寫該成品。If either of these artifacts are already in place, they will not be overwritten. 如有需要,您可以修改這些成品。You can modify these artifacts as needed.
建立可公開存取的端點Creating a publicly accessible endpoint
當您在新的或現有專案新增 Kubernetes 支援時,Visual Studio 會詢問您是否想要為應用程式建立可公開存取的端點。When you add Kubernetes support to a new or existing project, Visual Studio will ask you if you want to create a publicly accessible endpoint for your application.

若您按一下 [是],Visual Studio 會為您的應用程式設定 Helm 圖表,以在應用程式部署到 Kubernetes 叢集時,建立 Kubernetes 輸入物件。If you click Yes, Visual Studio will configure the Helm chart for your application to create a Kubernetes ingress object when the application is deployed to a Kubernetes cluster. 您可以藉由修改 Helm 圖表,隨時變更這個選項。You can change this option at any time by modifying the Helm chart.
在 Azure Kubernetes Service 中對應用程式進行偵錯Debugging your application in Azure Kubernetes Service
當您在新的或現有專案中新增 Kubernetes 支援後,就可以在即時的 Azure Kubernetes Service (AKS) 叢集中使用稱為 Azure Dev Spaces 的功能,輕鬆建置、執行應用程式及對其偵錯。Once you have added Kubernetes support to a new or existing project, you can easily build, run, and debug your application in a live Azure Kubernetes Service (AKS) cluster, using a feature called Azure Dev Spaces. 要在實際 Kubernetes 叢集的內容中測試專案,或要對屬於更大應用程式中的服務偵錯時,這會很實用,而且不需要在本機複寫整個應用程式。This is useful for testing your project in the context of an actual Kubernetes cluster or for debugging a service that is part of a much larger application without having to replicate the entire application locally. Azure Dev Spaces 也包含可讓開發團隊共用 AKS 叢集的功能。Azure Dev Spaces also includes functionality that allows your development team to share an AKS cluster. 如需 Azure Dev Spaces 的詳細資訊,請參閱 Azure Dev Spaces 文件。For more information on Azure Dev Spaces, see the Azure Dev Spaces documentation. 若要開始使用,請確認已在 Visual Studio 中選取 Azure Dev Spaces 作為偵錯啟動目標。To get started, ensure that Azure Dev Spaces is selected as the debug launch target in Visual Studio.

在 Dev Spaces 中初次啟動專案之前,請先設定您要使用的 Azure 訂用帳戶和 AKS 叢集。Before launching your project in Dev Spaces for the first time, configure the Azure subscription and AKS cluster that you wish to use. 也請選取您要在其中執行專案的空間。Also, select the space where you wish to run the project.

通常,您的團隊會在 [預設] 空間中執行整個應用程式的最新穩定版本。Typically, your team runs the latest stable version of the entire application in the default space. 之後,您會在 [預設] 空間的子空間中執行您處理的服務版本。Then, you run your version of the service you are working on in a child space of the default space. 現在則不需要在子空間執行其他服務;Dev Spaces 會自動將呼叫從您的服務路由到在 [預設] 中執行的服務穩定版本。There is now no need to run the other services in the child space; Dev Spaces automatically routes calls from your service to the stable versions of the services running in default. 如需如何進行這項設定的詳細資訊,請參閱 Azure Dev Spaces 文件中的團隊開發教學課程。For more information on how to set this up, see the team development tutorials in the Azure Dev Spaces documentation. 在您選取了正確的訂用帳戶、叢集和空間之後,請按一下 [確定] 繼續進行 Dev Spaces 設定。Once you have selected the correct subscription, cluster, and space, click OK to proceed with the Dev Spaces configuration. 若您選取的叢集尚無已建立關聯的 Dev Spaces 控制器,請在下列對話方塊中按一下 [確定],以自動建立一個控制器。If you select a cluster that does not already have an associated Dev Spaces controller, click OK in the following dialog box to create one automatically.

控制器建立過程約需 2 分鐘。Controller creation takes about 2 minutes. 您可以按一下 Visual Studio 視窗左下角的 [背景工作] 按鈕查看狀態。You can click on the Background Tasks button in the lower left corner of the Visual Studio window to see the status.

當您的 Dev Spaces 控制器就緒時,就按 F5 或按一下工具列上的 [Azure Dev Spaces] 偵錯按鈕,以在 AKS 中對您的專案偵錯。Once you have a Dev Spaces controller ready to go, press F5 or click the Azure Dev Spaces debug button on the toolbar to debug your project in AKS.

Dev Spaces 會將您的程式碼同步到 Azure、建置包含程式碼的容器映像,並使用專案中定義的 Helm 圖表將其部署到 AKS 叢集。Dev Spaces will synchronize your code to Azure, build a container image containing your code, and deploy it to your AKS cluster using the Helm chart defined in your project. Visual Studio 會對執行於叢集的服務建立遠端偵錯連線,讓您可以與其互動,方式就如同對執行於本機的服務偵錯。Visual Studio will open up a remote debug connection to the service running in the cluster so you can interact with it just as you would when debugging a service running locally.
使用 Xamarin 的行動裝置應用程式開發Mobile Development with Xamarin
此版本包括工作負載大小與 Android 建置效能可靠性改良,以及 Xamarin.Android 與 Xamarin.Forms 生產力加強功能。This release includes improvements to workload size and Android build performance and reliability, as well as enhancements for Xamarin.Android and Xamarin.Forms productivity.
- Xamarin 負載現在只有 7.69GB,相較於 Visual Studio 2017 15.9 版減少 2 倍,而相較於 15.7 版減少 3 倍。The Xamarin workload is now just 7.69GB, a 2x reduction from Visual Studio 2017 version 15.9 and a 3x improvement over version 15.7.
- IntelliCode 延伸模組現在支援 Xamarin.Forms XAML。The IntelliCode extension now supports Xamarin.Forms XAML.
[檔案] > [新增專案]File > New Project
我們進行的效能改進,目的是縮短建立新 Xamarin 專案的時間,讓您可以更快開始建置應用程式。We made performance improvements aimed at reducing the time it takes to create a new Xamarin project so you can start building your apps faster. 我們現在也在工作負載安裝過程中包含了範本所使用的 NuGet 套件,以縮短套建還原時間,尤其是在低頻寬或離線的情況下。We also now include the NuGet packages used by the templates as part of the workload installation in order to reduce package restore time, especially in low bandwidth or offline situations. 在某些情況下,這些功能改進讓新 Xamarin 專案完全載入及還原的時間減少了近 50%。These improvements reduce the time for a new Xamarin project to be completely loaded and restored by almost 50% in some cases.

建置進度列指示器Build progress indicator
您現在可在建置專案時,看到更詳細的建置進度資訊。You can now see more detailed build progress information when building your projects. 在建置期間按一下左下角的背景工作圖示,會顯示目前執行的建置目標。Clicking the background tasks icon in the bottom left corner during a build will display the current build target that is running. 這可用於判斷是否建置仍在執行,但目標花費了很長的時間才完成。This can be useful for determining if the build is still running but a target is taking a long time to complete.

Xamarin.Forms Previewer 的基本預覽模式Xamarin.Forms Previewer's Basic Preview mode
您不再需要為 Xamarin.Forms XAML Previewer 建置您的專案,以顯示您的程式碼預覽!You no longer have to build your project for the Xamarin.Forms XAML Previewer to show you a preview of your code! 如果您的 XAML 檔案中有自訂控制項,您可以需要建置專案才能預覽它們,或選擇將它們加入設計階段轉譯(機器翻譯)。If you have custom controls in your XAML file, you might need to build your project to preview those, or opt them into design time rendering.
Xamarin.Forms Previewer 裝置下拉式清單Xamarin.Forms Previewer device drop-down
您現在可以使用我們新的裝置下拉式清單,在不同的 Android 和 iOS 裝置間切換來預覽您的 Xamarin.Forms XAML。You can now swap between different Android and iOS devices to preview your Xamarin.Forms XAML on using our new device drop-down menu.

Xamarin.Forms 屬性面板Xamarin.Forms Property Panel
您現在可以在屬性面板中編輯 Xamarin.Forms 控制項、儲存格與版面配置的最常見屬性,並在看到那些變更立即反映在您的 XAML 中。You can now edit the most common attributes of Xamarin.Forms controls, cells, and layouts in a property panel and see those changes reflected immediately in your XAML.

Xamarin.Forms Shell 範本Xamarin.Forms Shell template
我們更新了 Xamarin.Forms 範本,以使用最新 Xamarin.Forms 版本 (英文),並為 Xamarin.Forms Shell 應用程式新增了範本選項。We updated the Xamarin.Forms templates to use the latest Xamarin.Forms release and also added a new template option for a Xamarin.Forms Shell app. Shell 的目的是降低應用程式的複雜度,同時提高開發人員生產力,並著重於轉譯速度及記憶體使用量。Shell aims to reduce the complexity of apps while increasing developer productivity and focusing on rendering speed and memory consumption. 這個範本會提供您適用於 Android 和 iOS 的已啟動 Shell 應用程式。This template gives you a bootstrapped Shell app for Android and iOS.
Android 建置效能與可靠性Android Build performance and reliability
在 Visual Studio 2017 15.9 版與 Visual Studio for Mac 7.7 中,我們以進行初始建置效能與建置正確性改良。In Visual Studio 2017 version 15.9 and Visual Studio for Mac 7.7, we made initial build performance and build correctness improvements. 在 Visual Studio 2019 與 Visual Studio for Mac 7.8 中,我們讓建置及部署速度加快了。In Visual Studio 2019 and Visual Studio for Mac 7.8, we made building and deploying even faster.

- 您現在將會使用 Android 新一代的封裝工具。You will now make use of Android's next generation packaging tooling. 若要啟用這項功能,請在您專案的
.csproj
中新增 MSBuild 旗標:To enable this feature, add an MSBuild flag in your project's.csproj
:- aapt2 會將 Android 封裝分為兩個步驟:編譯及連結。aapt2 divides Android packaging into two steps: Compile and Link. 這樣可改進累加建置效能,並提供更簡單的錯誤報告功能。This improves performance for incremental builds and provides earlier error reporting. 例如,若單一檔案中有變更,您只需要重新編譯該檔案。For example, if there are changes in a single file, you only need to recompile that file.
<AndroidUseAapt2>True</AndroidUseAapt2>
- aapt2 會將 Android 封裝分為兩個步驟:編譯及連結。aapt2 divides Android packaging into two steps: Compile and Link. 這樣可改進累加建置效能,並提供更簡單的錯誤報告功能。This improves performance for incremental builds and provides earlier error reporting. 例如,若單一檔案中有變更,您只需要重新編譯該檔案。For example, if there are changes in a single file, you only need to recompile that file.
- 在您的專案中啟用這項工具,您就能加強建置階段與執行階段的效能。By enabling this tool in your projects, you enable enhanced performance at both build time and runtime. 如需這些屬性的詳細資訊,請參閱 Xamarin.Android 中的建置程序文件。For more details on these properties, see our documentation on the Build Process in Xamarin.Android.
Android Emulator 改善Android Emulator improvements
在 Visual Studio 2019 中,Android 模擬器映像更容易建立了。In Visual Studio 2019, Android emulator images are easier to create. 我們也繼續與 Windows 小組在 Windows 10 2018 10 月更新 1809 版中合作,以改進在 Hyper-V 上執行的 Android 模擬器效能。We've also continued to work with the Windows team in the Windows 10 October 2018 Update, version 1809, to improve the performance of the Android emulator when running on Hyper-V.
- 新使用者只要按一下執行圖示就可以建立其第一個映像。New users can create their first image by simply pressing the run icon.
- 我們的模擬器取得體驗會自動判斷您的環境的最佳設定,並利用硬體加速 (透過 Intel HAXM 或 Hyper-V) 功能,而且依預設可快速開機。Our emulator acquisition experience automatically determines the best configuration for your setup and takes advantage of hardware acceleration (with Intel HAXM or Hyper-V) and quick boot by default.
- 當您想要建立另一個映像時,您可以從下拉式清單選取 [建立 Android Emulator] 以開啟 Android Device Manager。When you want to create another image, you can select Create Android Emulator from the dropdown to open the Android Device Manager.
透過 Xamarin.Android 中組建的功能改進,縮短您的建置時間Speed up your build times with our improvements for build in Xamarin.Android
我們發行了一組初始建置效能改善。We have released a set of initial build performance improvements. 時至今日,Xamarin.Android 9.1.1+ 與前一個版本相較之下,建置效能已有顯著提升。As of today, Xamarin.Android 9.1.1+ includes significant build performance improvements in comparison to the previous release. 請參閱我們的 Xamarin.Android 15.9 與16.0 建置效能比較以取得詳細資訊。Check out our Xamarin.Android 15.9 vs. 16.0 build performance comparison for more details.
Xamarin.Android 增強的快速部署Enhanced Fast Deployment for Xamarin.Android
快速部署到目前為止,提供了更快的累加式部署時間,方式是在任何資產、資源、應用程式內封裝的共用原生程式庫或繼承自 Java.Lang.Object
的使用者定義類別均未進行過變更的情況下,跳過重建或重新部署 Android 套件 (.apk 檔案) 的過程。Fast Deployment has up until now provided faster incremental deployment times by skipping over rebuilding or redeploying the Android package (.apk file) in scenarios where no changes have been made to any assets, resources, shared native libraries packaged within the app, or user-defined classes that inherit from Java.Lang.Object
.
增強的快速部署拓展了快速部署的支援,讓原生程式庫和繼承自 Java.Lang.Object
的類別均涵蓋在內。Enhanced Fast Deployment expands support for fast deployment to cover both shared native libraries and classes that inherit from Java.Lang.Object
. 在某些情況下,使用這些增強功能的快速部署組建只需要產生新的 .apk 檔案,例如 AndroidManifest.xml 檔案因為新增 Android.App.Application
或 Activity
子類別而變更。Fast deployment builds that use these new enhancements will only need to generate a new .apk file in a limited number of scenarios, such as when the AndroidManifest.xml file changes due to addition of a new Android.App.Application
or Activity
subclass.
這些增強功能 在目前預覽中預設是未啟用。These enhancements are not yet enabled by default in the current preview. 若要加以啟用,請在 .csproj 檔案中將 $(AndroidFastDeploymentType)
MSBuild 屬性設為 Assemblies:Dexes
:To enable them, set the $(AndroidFastDeploymentType)
MSBuild property to Assemblies:Dexes
in your .csproj file:
<PropertyGroup>
<AndroidFastDeploymentType>Assemblies:Dexes</AndroidFastDeploymentType>
</PropertyGroup>
Xamarin.Android 中的新一代 Dex 編譯器 (d8) 與程式碼壓縮器 (r8) 支援Next-generation Dex Compiler(d8) and Code Shrinker(r8) support in Xamarin.Android
Xamarin.Android 現在支援最新的 Android dex 編譯器 (d8) 和程式碼壓縮器 (r8)。Xamarin.Android now supports the latest Android dex compiler(d8) and code shrinker (r8).
若要啟用這些功能,請在 .csproj 檔案中將 $(AndroidDexTool)
和 $(AndroidLinkTool)
MSBuild 屬性分別設為 d8
和 r8
To enable these features, set the $(AndroidDexTool)
and $(AndroidLinkTool)
MSBuild property to d8
and r8
respectfully in your .csproj file
- d8 是新一代的 dex 編譯器,執行速度更快,能產生較小的 .dex 檔案,且執行階段效能更棒。d8 is a next-generation dex compiler that runs faster and produces smaller .dex files with better runtime performance.
<PropertyGroup>
<AndroidDexTool>d8</AndroidDexTool>
</PropertyGroup>
- r8 是用於壓縮及縮製的工具,可以將 Java 位元組程式碼轉換為最佳化的 dex 程式碼,因此您已不再需要 ProGuard。r8 is a new tool for shrinking and minification that converts Java bytecode to optimized dex code that replaces the need for ProGuard.
<PropertyGroup>
<AndroidLinkTool>r8</AndroidLinkTool>
</PropertyGroup>
如需 d8 和 r8 的詳細資料,請參閱文件。For more details on d8 and r8, check out our documentation.
Xamarin Android Designer 加強功能Xamarin.Android Designer enhancements
我們已經為「分割檢視」中的互動提供一些生產力加強功能。We have made a number of productivity enhancements to the interactions in Split View.
- 直接從工具箱拖放到原始碼編輯器,以協助快速設計您的 Android 版面配置架構。Drag and drop directly from the toolbox to the source editor to help quickly scaffold your Android layouts.

- 在原始檔編輯器中直接從其 XML 定義 span 選取元素。Select elements directly from their XML definition span in the source editor. 我們透過將插入點位置與對應的 Android 檢視同步以實作此功能,讓您直接從編輯器的屬性面板快速存取元素的屬性。We implemented this by synchronizing the caret position with the corresponding Android view, allowing you to quickly access an element's properties in the property panel right from the editor.

- 使用內嵌色彩預覽您的 XML 程式碼,就可以看到您的控制項中使用哪些色彩。Use an inline color preview to your XML code so you can see what colors are being used in your controls.

- 將滑鼠游標停在值上以深入檢視其資訊,例如它其定義位置或色彩的十六進位值為何,來使用我們的快速資訊功能。Use our quick info feature by hovering over a value to find out more about it, such as where it's defined or what the hexadecimal value for the color is.

初步支援限制式配置的 Xamarin.Android Designer 功能改進Xamarin.Android Designer improvements with initial support for constraint layouts
我們已開始著手改善 Android Designer 的啟動速度。We’ve begun an effort to improve startup speed of the Android Designer. 在這個過程中,我們也改善了設計工具在載入時提供的傳訊。As part of this effort, we have also improved the messaging that the designer provides while it is loading.

除了這些功能改進以外,Android Designer 現在原生支援 Android Pie (9.0) 並提供 ConstraintLayout
屬性的自動完成。Alongside these improvements, the Android Designer now natively supports Android Pie (9.0) and provides autocompletion for ConstraintLayout
attributes.
透過 Xamarin.Android Designer 取得更完善的 XML IntelliSense 與註解最佳化Get better XML IntelliSense and Commenting optimizations with the Xamarin.Android Designer
在使用 IntelliSense 將 Widget 新增到配置時,現在會提供完整的程式碼片段體驗,這樣從一開始就可以提供必要屬性。When using IntelliSense to add a widget to a layout, a full snippet experience is now provided so that required attributes can be supplied from the start. 我們為 Android XML 配置新增了智慧註解與取消註解。We have added smart commenting and uncommenting for Android XML layouts.
在 Android 資源檔和 AndroidManifest.xml 中使用移至定義和 XML IntelliSense 以提高生產力Be more productive by using Go-To-Definition and use XML IntelliSense within Android resource files and AndroidManifest.xml
您現在可在資源 URL 上使用 Ctrl + 按一下,瀏覽到定義了該 URL 的檔案或程式行。You can now Ctrl + Click on resource URLs to navigate to the file or line where they are defined.

除了配置 (色彩、字串、可繪製資源、功能表、Android 資訊清單等) 之外,現在支援其他 Android XML 檔案使用 IntelliSense/自動完成。IntelliSense/Autocompletion is now supported for other Android XML files other than layouts (colors, strings, drawables, menu, Android manifest, etc.).
通用 Windows 平台Universal Windows Platform
- IntelliCode 延伸模組現在支援 XAML。The IntelliCode extension now supports XAML.
- 為降低 Visual Studio 安裝複雜度與大小,已從 Visual Studio 安裝移除 Windows Phone 模擬器。To reduce Visual Studio setup complexity and size, Windows Phone emulators have been removed from Visual Studio installation. 您現在將必須手動下載模擬器。You will now need to download the emulators manually.
- 已移除 Windows 10 Fall Creators Update (組建 16299) 之前以 Windows 10 SDK 為目標之 UWP 應用程式的 XAML 設計階段工具。XAML design time tooling for UWP apps targeting Windows 10 SDKs before the Windows 10 Fall Creators Update (build 16299) has been removed. 將您的應用程式的目標重新設定為 Windows 10 1709 版或更新版本以使用 XAML 設計工具或使用 XAML 編輯器。Retarget your applications to Windows 10 version 1709 or higher to use the XAML Designer, or use the XAML editor.
- 已不再支援使用
project.json
來定義 NuGet 相依性的 UWP 測試專案。UWP test projects usingproject.json
to define NuGet dependencies are no longer supported. 您必須升級您的專案以使用新的PackageReference
格式。You must upgrade your project to use the newPackageReference
format. - Visual Studio 2019 中已不再支援 UWP JavaScript 應用程式。UWP JavaScript apps are no longer supported in Visual Studio 2019. 您無法建立或開啟 JavaScript UWP 專案 (具有
jsproj
副檔名的檔案)。You cannot create or open JavaScript UWP projects (files with extensionjsproj
). 您可以透過我們的建立可在 Windows 上正常運作之 Progressive Web App (PWA) 的文件。You can learn more via our documentation on creating Progressive Web Apps (PWAs) that run well on Windows. - 您可繼續如往常般附加到 JavaScript UWP 應用程式,不過已無法在 Visual Studio 2019 中使用 JavaScript 分析工具 (網路、CPU 及記憶體分析工具)。You can continue to attach to JavaScript UWP apps as before, however the JavaScript profiling tools (Network ,CPU and Memory Profiler) are no longer available in Visual Studio 2019.
Office 工具範本更新Office Tools Template Updates
在 Visual Studio 2019 中,我們已對 Office、SharePoint 與 VSTO 範本進行一些變更。In Visual Studio 2019, we made a few changes to the Office, SharePoint, and VSTO templates.
- Visual Studio 2019 也提供在 Visual Studio 2017 15.9 中新增的 SharePoint 2019 範本。The SharePoint 2019 templates that were added in Visual Studio 2017 15.9 are also available in Visual Studio 2019.
- 我們已移除對 SharePoint 循序工作流程或狀態機器工作流程的支援。 State Machine Workflows.We have removed support for SharePoint Sequential Workflow or State Machine Workflows. 雖然您無法在 Visual Studio 2019 中建立或開啟這些工作流程,但您可以繼續在舊版 Visual Studio 中編輯它們。While you will not be able to create or open these workflows in Visual Studio 2019, you can continue to edit them in previous releases of Visual Studio.
- 將不再提供 Office 2010 範本。Office 2010 templates will no longer be available. 不過,您仍然可以在 Visual Studio 2019 中開啟現有的 Office 2010 專案。However, you can still open existing Office 2010 projects in Visual Studio 2019.
- 已重新命名 Office 2013 與 2016 範本以反映它們支援 Office 2013 與更新版本。The Office 2013 and 2016 templates have been renamed to reflect that they support Office 2013 and above.
Team Explorer 與 Azure DevOpsTeam Explorer and Azure DevOps
我們正在發行將 Team Explorer 連線到 Azure DevOps 專案時新的、流暢型、以開發人員為中心的體驗。We are releasing a new, streamlined, developer-centric experience when connecting Team Explorer to an Azure DevOps project.
透過以指派給您的工作項目 (您正在關注的、您在討論中被提到的,以及以您的活動為基礎的) 篩選您的檢視並建立樞紐分析表,著重在相關工作項目。Focus on relevant work items by filtering and pivoting your view based on work items assigned to you, ones that you're following, ones where you're mentioned in the discussion, and ones based on your activity.
- 在每個檢視內,您都可以建立內嵌工作項目、執行簡單的直接編輯、江工作項目標示為已完成,以及將工作項目與暫止的變更關聯。Within each view, you can create a work item inline, perform simple inline edits, mark a work item as complete, and associate a work item to pending changes.
從會自動將工作項目與對本機分支進行之變更關聯的工作項目建立本機分支。Create a local branch from a work item which will automatically relate the work item to the changes made to that local branch. 這是預設體驗。This is the default experience. 若您要切換到傳統體驗,您可以 Visual Studio 中設定工作項目體驗。Should you want to switch to the legacy experience, you can by setting the Work Items experience in Visual Studio. 請注意,這個新體驗只適用於 Git 存放庫。後續的更新中將提供 TFVC 存放庫的新體驗。Note that this new experience is only true for Git repos. The new experience for TFVC repos will available in a following update.
*Azure DevOps 工作項目中樞**Azure DevOps Work Item Hub* 在暫止的變更認可訊息中執行 #提及時,搜尋工作項目。Search for work items when doing a #mention in the pending changes commit message. 如需詳細資訊,請參閱使用 [工作項目] 來檢視及新增工作項目頁面。For more details, see the View and add work items using the Work Items page.
*Azure DevOps #提及**Azure DevOps #mentions* 由於在 Azure DevOps 中的採用率不高,對 Microsoft Project 的支援已從適用於 Visual Studio 2019 的 Team Foundation Server Office 整合 2019 外掛程式移除。Support for Microsoft Project has been removed from the Team Foundation Server Office Integration 2019 plug-in for Visual Studio 2019 due to a low adoption rate in Azure DevOps. 您現在必須將您的工作項目匯出到 Excel 並手動將它們貼到 Project。You will now need to export your work items to Excel and manually paste them into Project.
對 PowerPoint 的支援已從適用於 Visual Studio 2019 的 Team Foundation Server Office 整合 2019 外掛程式移除。Support for PowerPoint has been removed from the Team Foundation Server Office Integration 2019 plug-in for Visual Studio 2019. 不過,使用者仍然可以在 PowerPoint 中建立腳本並手動將它們連結到 Azure DevOps 中的工作項目。However, users can still create storyboards in PowerPoint and link them manually to work items in Azure DevOps.
Application Insights 和 HockeyAppApplication Insights and HockeyApp
- 在 Visual Studio 2019 中,已移除 Application Insights 趨勢視窗,您可以使用其他功能更豐富的替代選項。The Application Insights Trends window has been removed in Visual Studio 2019 in favor of alternatives that are more feature-rich. 您可以改為使用 Visual Studio 中的 Application Insights 搜尋視窗,或 Azure 入口網站中 Application Insights 中的豐富診斷工具集。Instead, you can use the Application Insights Search window in Visual Studio or the rich set of diagnostics tools in Application Insights in the Azure portal.
- 已移除用於新增 HockeyApp SDK 及建立新的搶鮮版 (Beta) 發行版本的精靈。The wizards for adding the HockeyApp SDK and creating new beta distributions have been removed. 我們改為使用 Visual Studio App Center,這是 HockeyApp 的後繼者。We instead recommend using Visual Studio App Center, the successor to HockeyApp. 您仍然可以正常使用 HockeyApp,只不過 Visual Studio 中沒有這些捷徑就是。You can still use HockeyApp normally, except without these shortcuts in Visual Studio.
Visual Studio 2019 RC 中已修正的問題Issues fixed in Visual Studio 2019 RC
最近更新於 2019 年 4 月 26 日most recently updated on April 26, 2019
- 在將程式碼簽入 TFS 時,出現「值不可為 null。參數名稱: pUnk」。Value cannot be null. Parameter name: pUnk when checking in code to TFS.
- 在 csproj 這樣的 xml 檔案中,不必要地新增了 "Subtype Designer"。"Subtype Designer" is added unnecessarily to xml-based files like csproj.
- TLS 1.0:要求已中止:無法建立 SSL/TLS 安全通道。TLS 1.0: The request was aborted: Could not create SSL/TLS secure channel.
- Solution Explorer: touch pad gesture scroll is too sensitive (方案總管:觸控板手勢捲動過於敏感)。Solution Explorer: touch pad gesture scroll is too sensitive.
- [MSConnect 1173006] 篩選設為 [整個解決方案] 的 [工作清單],在檔案關閉時不會顯示工作/待辦事項。[MSConnect 1173006] Task List with filter set to Entire Solution doesnt display tasks / todos when the file is closed.
- Xamarin.iOS 無法針對「影像檢視」選取影像資產。Xamarin.iOS can't select image asset for Image View.
- 嚴重錯誤 C1001:編譯器中發生內部錯誤。fatal error C1001: An internal error has occurred in the compiler.
- Visual Studio 2019 - EF6 edmx文件无法保存-VS 2019 Preview 1 - 無法儲存EF6 edmx。Visual Studio 2019 - EF6 edmx文件无法保存-VS 2019 Preview 1 - EF6 edmx file cannot be saved.
- [WebKit] 不允許未定義的類別作為編譯器內建的類型特徵 '__is_assignable' (迴歸) 的引數。[WebKit] an undefined class is not allowed as an argument to compiler intrinsic type trait '__is_assignable' (regression).
- Visaul Studio 2019:nuget 套件管理員的對比度不佳。Visaul Studio 2019: nuget package manager has poor contrast.
- Team Explorer - 變更:面板沒有隨 Team Explorer 視窗調整大小。Team Explorer - Changes: panel not sizing to the Team Explorer window.
- Visual Studio 2017 的 SQL Server 物件總管伺服器清單不會保存。Visual Studio 2017 SQL Server Object Explorer server list not persisting .
- Linux-x64 模式中的 Intellisense 問題。intellisense problems with linux-x64 mode.
- 索引超出範圍。必須為非負數且小於集合的大小。參數名稱:index。Index was out of range. Must be non-negative and less than the size of the collection.Parameter name: index.
- Visual Studio 2017 [復原] 無法運作/停止運作 (再次回報!)。Visual Studio 2017 UNDO does not work/stops working (reported AGAIN!!!!).
- 在 WSL 底下建立的檔案無法使用 Intellisense。Intellisense not working for files created under WSL.
- Intellisense 錯誤:C++11 靜態 constexpr 成員初始化造成 [無法將成員初始化]。Intellisense error: C++11 static constexpr member initialization causes "member may not be initialized".
- 切換進/出偵錯時,VS 不會還原視窗位置。VS doesn't restore windows position when switching in/out of debug.
- 每次啟動 VS2019 Preview 2.2 時,協力廠商工具箱項目都會重新載入。Third party toolbox items are reloaded every time VS2019 Preview 2.2 is started.
- 更新至 VS2019 Preview Release 3 之後,[設定為啟始專案] 會使 IDE 當機。'Set as StartUp Project' crashes the IDE after updating to VS2019 Preview Release 3.
- Visual Studio 2019 建置 Visual Studio 2017 C++ 專案失敗。Visual Studio 2019 building Visual Studio 2017 C++ projects fail.
- 修正 [工具箱] 重新整理問題。Fixed Toolbox refresh issue.
- [工具箱] 控制項使 vssettings 檔案太大。Toolbox controls are making vssettings file too big.
- SSDT:執行 [新增資料比較] 函式時 [登入失敗] 錯誤的修正。SSDT: Fix for Login failed errors when performing a New Data comparison function .
- SSDT:執行 [結構描述比較] 時 [來源無法使用] 錯誤的修正。SSDT: Fix for Source is Unavailable error when performing Schema Compare .
- SSDT:[結構描述比較產生指令碼] 沒有產生指令碼的修正。SSDT: Fix for Schema Compare Generate Script does not generate script .
- Find in files "Locating next match" UI is annoying (在 [尋找下一個相符項目] UI 中尋找檔案很煩人)。Find in files "Locating next match" UI is annoying.
- Find files keeps defaulting to current document (尋找檔案會保持預設為目前的文件)。Find files keeps defaulting to current document.
- Quick references freezes VS 2019 RC (快速參考會凍結 VS 2019 RC)。Quick references freezes VS 2019 RC.
- PackageId:MsSqlCmdLnUtils;PackageAction:Install;ReturnCode:1603;。PackageId:MsSqlCmdLnUtils;PackageAction:Install;ReturnCode:1603;.
- Error List does not show errors because it is scoped to "Current Document" (錯誤清單不顯示錯誤,因為其範圍是「目前的文件」)。Error List does not show errors because it is scoped to "Current Document".
- Cannot use conditional breakpoint on PropertyInfo.Name value (無法在 PropertyInfo.Name 值上使用條件式中斷點)。Cannot use conditional breakpoint on PropertyInfo.Name value.
- Visual Studio crashes when parsing macros at the end of a file (在檔案結尾剖析巨集時,Visual Studio 損毀)。Visual Studio crashes when parsing macros at the end of a file.
- Search in Visual Studio 2019 is very slow (在 Visual Studio 2019 中搜尋非常緩慢)。Search in Visual Studio 2019 is very slow.
- Visual Studio hangs when starting debugging (開始偵錯時,Visual Studio 停止回應)。Visual Studio hangs when starting debugging.
- vdproj not supported in Visual Studio 2019 RC (vdproj 在 Visual Studio 2019 RC 中不受支援)。vdproj not supported in Visual Studio 2019 RC.
- Visual Studio 安裝程式歡迎圖像包含對中文使用者具冒犯意味的元素。Visual Studio installer welcome image contains offensive element for Chinese.
- VSIX Extension pre-req has been removed in Visual Studio 2019 RC breaking extension compatibility (VSIX 延伸模組必要條件已在 Visual Studio 2019 RC 重大延伸模組相容性中移除)。VSIX Extension pre-req has been removed in Visual Studio 2019 RC breaking extension compatibility.
- Create Project from Start Screen Ignores Selected Project Folder (從開始畫面建立專案,會忽略選取的專案資料夾)。Create Project from Start Screen Ignores Selected Project Folder.
- cpp properties is dialog does not show up when using Project menu item or select "Manage configuration" drop down menu (使用 [專案] 功能表項目或選取 [管理組態] 下拉式清單功能表時,不顯示 cpp 屬性對話方塊)。cpp properties is dialog does not show up when using Project menu item or select "Manage configuration" drop down menu.
- Visual Studio 2019 Build Tools - developer prompt title says "Developer Command Prompt for Visual Studio 2017" (Visual Studio 2019 Build Tools - 開發人員提示標題指出「Visual Studio 2017 的開發人員命令提示字元」)。Visual Studio 2019 Build Tools - developer prompt title says "Developer Command Prompt for Visual Studio 2017".
- German tranlation regarding the Feedback Tool:Help > Send Feedback > Report a Problem (有關意見反應工具的德文翻譯:[協助] > [傳送意見反應] > [回報問題])。German tranlation regarding the Feedback Tool: Help > Send Feedback > Report a Problem.
- AutoComplete function, if you double-click the candidate, will lose the input focus, need a stand-alone editor to continue to enter ([自動完成] 功能,如果按兩下候選項目,將失去輸入焦點,需要獨立的編輯器才能繼續輸入)。自动完成功能,如果双击候选项,会丢失输入焦点,需要单机编辑器才能继续输入-AutoComplete function, if you double-click the candidate, will lose the input focus, need a stand-alone editor to continue to enter.
- Context menus are sometimes placed on the wrong monitor in a multiple monitor configuration (在多重監視器組態中,操作功能表有時會置於錯誤的監視器上)。Context menus are sometimes placed on the wrong monitor in a multiple monitor configuration.
- Visual Studio 2019 conflict with QQ Pinyin (Visual Studio 2019 與 QQ 拼音衝突)。Visual Studio 2019 conflict with QQ Pinyin.
- annot drag maximized Visual Studio window (無法拖放最大的 Visual Studio 視窗)。Cannot drag maximized Visual Studio window.
- Access violation C++ /CLI 15.9.5 ISO C++ Latest Draft Standard since 15.9.5 (從 15.9.5 開始,C++ /CLI 15.9.5 ISO C++ 最新草稿標準會發生存取違規)。Access violation C++ /CLI 15.9.5 ISO C++ Latest Draft Standard since 15.9.5.
- Modal progress dialog stays open permanently, even when IDE is responsive ('Preparing Solution', 'Creating Project', Edit and Continue, etc) (即使 IDE 有回應能力,強制回應進度對話方塊仍一直保持開啟 ([正在準備解決方案]、[正在建立專案]、[編輯後繼續] 等))。Modal progress dialog stays open permanently, even when IDE is responsive ('Preparing Solution', 'Creating Project', Edit and Continue, etc).
- PackageId:OpenJDKV1;PackageAction:Uninstall;ReturnCode:0;.PackageId:OpenJDKV1;PackageAction:Uninstall;ReturnCode:0;.
- Visual Studio 2019 - Toolbox always shows Initializing (Visual Studio 2019 - 工具箱一直顯示正在初始化)。Visual Studio 2019 - Toolbox always shows Initializing.
- Intellisense in Razor files (.cshtml) is not working. (Razor 檔案 (.cshtml) 中的 Intellisense 無法運作)。Intellisense in Razor files (.cshtml) is not working..
- SSDT schema comparison doesn't highlight differences in files (SSDT 結構描述比較不會在檔案中醒目提示差異)。SSDT schema comparison doesn't highlight differences in files.
- Visual Studio exception when opening Razor cshtml files(開啟 Razor cshtml 檔案時 Visual Studio 發生例外狀況)。Visual Studio exception when opening Razor cshtml files.
- Failed to initialize extension (無法將延伸模組初始化)。Failed to initialize extension.
- Asp Core :Create new view show error (Asp Core:建立新檢視會顯示錯誤)。Asp Core : Create new view show error.
- VS 2019 RC -- Can't create Winforms (.Net Core) -- multiple errors (VS 2019 RC -- 無法建立 Winforms (.Net Core) -- 多個錯誤)。VS 2019 RC -- Can't create Winforms (.Net Core) -- multiple errors.
- Project References Not Loading After Branch Switch (專案參考未在切換分支後載入)。Project References Not Loading After Branch Switch.
- Scaffolding error:There are no scaffolders supported for this item (Scaffolding 錯誤:此項目沒有支援的 scaffolder)。Scaffolding error: There are no scaffolders supported for this item.
- Load configuration only works before the first installation is completed(負載組態只能在第一次安裝完成前運作)。Load configuration only works before the first installation is completed.
- Dropdown project type = text is partially hidden when "Make Text Bigger" is used(使用 [放大文字] 時,下拉式清單專案類型 = 文字有部分會隱藏)。Dropdown project type = text is partially hidden when "Make Text Bigger" is used.
- Wrong localization (錯誤的當地語系化)。Wrong localization.
- Visual Studio 2019 RC 中,在 4K 顯示器上使用自動的縮放比例時,Forms 設計工具中的屬性視窗會顯示垂直捲軸,但沒有拖曳控點。Properties Window in Forms Designer shows vertical scrollbar without drag handle with automatic scaling on 4K display in Visual Studio 2019 RC.
- Razor autocomplete works until you tab/enter then it uses html (Razor 自動完成可正常運作,但等到按 TAB/ENTER 鍵後,它卻使用 html)。Razor autocomplete works until you tab/enter then it uses html.
- 在 Visual Studio 2019 RC.1 中依序安裝多個延伸模組時,VSIXInstaller.exe 會隨機損毀。VSIXInstaller.exe crashes randomly when installing multiple extensions sequentially in Visual Studio 2019 RC.1.
- Moving a } crashes Visual Studio (移動 } 會損毀 Visual Studio)。Moving a } crashes Visual Studio.
- 在 Visual Studio 2019 Preview 3 及 Preview 4 中無法使用 Telerik UI for WPF 控制項。Telerik UI for WPF controls disabled in Visual Studio 2019 Preview 3 and Preview 4.
- 無法處理 System.OperationCanceledException。Unhandled System.OperationCanceledException.
- 使用協力廠商 IME (QQ Pinyin、Google IME) 時,Visual Studio 2019 RC 會在啟動時損毀。Visual Studio 2019 RC crashes on startup when using a 3rd party IME (QQ Pinyin, Google IME).
- 若關閉未固定的視窗,Visual Studio 2019 Preview 4 會損毀。Visual Studio 2019 Preview 4 crash if closing undocked Window.
- Intellisense 錯誤:C++11 靜態 constexpr 成員初始化造成 [無法將成員初始化]。Intellisense error: C++11 static constexpr member initialization causes "member may not be initialized".
- 起始頁面 [從清單移除] 停止運作。Start Page "Remove From List" stops working.
- $(VCIDEInstallDir) 路徑無效。Microsoft.Cpp.Common.props 中缺少反斜線。$(VCIDEInstallDir) is an invalid path. Missing backslash in Microsoft.Cpp.Common.props.
- 當開啟解決方案篩選時,Visual Studio 2019 Preview 2.0+ 會損毀。Visual Studio 2019 Preview 2.0+ crashes when opening soultion filter.
- [管理延伸模組] 工具列會擲回例外狀況。Manage Extensions toolbar throws exception.
- LLVM/clang-cl 的 CMake 設定編譯器測試會失敗CMake configuration compiler test fails for LLVM/clang-cl
- SSDT:載入含多個專案之方案的效能改善修正。SSDT: Fix to improve performance of loading solutions with multiple projects.
- SSDT:執行資料庫和專案的 [結構描述比較] 然後執行刪除資料表時,SQL 檔案不一定會被刪除的修正。SSDT: Fix for SQL files not always being deleted when performing a Schema Compare between a database and a project and a delete table is executed subsequently.
- SSDT:改善旁白功能的協助工具修正。SSDT: Accessibility fixes to improve narration capabilities.
- SSDT:將舊版 sqlncli 驅動程式取代為新版 Microsoft ODBC Driver for SQL Server。SSDT: Replaced older sqlncli driver with new Microsoft ODBC Driver for SQL Server.
- 修正了多個 C# 與 Visual Basic 專案重新載入緩慢的問題。We have fixed slow reload of multiple C# and Visual Basic projects.
- 存在 IntelliSense 時,當使用者鍵入 Shift + Enter,作用選取範圍將會完成,並會插入新行。When IntelliSense is present, when a user types Shift + Enter, the active selection will be completed and a new line inserted.
- 修正了編輯器工具提示和燈泡無法正常轉譯的 PMA 問題。We have fixed a PMA issue where editor tooltips and light bulb doesn't render properly.
- 由延伸模組造成的損毀通知現在會再次顯示。Notifications about crashes caused by extensions now show up again.
- Visual Studio 效能的通知已受到保護,防止竄改。Notifications about performance of Visual Studio have been secured against tampering.
- 修正了跨顯示器拖曳時,工具列的轉譯問題。We have fixed an issue with toolbar rendering when dragged across displays.
- 修正了在啟用個別監視器感知的情況下執行時,工具選項轉譯的問題。We have fixed an issue with Tools Options rendering when running with per-monitor awareness enabled.
- 多種 DpiHelper 類別已淘汰 (擴充性)。Various DpiHelper classes has been deprecated (extensibility).
- 修正了啟動顯示畫面縮放比例,使其更符合主要監視器的比例因素。We have fixed splash screen scaling to better match the primary monitor scale factor.
- 修正了設定匯入中,未一律正確回報警告/錯誤的問題。We have fixed an issue in settings import where warnings/errors were not always reported correctly.
- 修正了工具選項在不考慮轉譯層的情況下回報軟體轉譯的問題。We have fixed an issue where Tools Options reported software rendering regardless of rendering tier.
- 修正了開啟的資料夾名稱未顯示在標題列區域中的問題。We have fixed an issue where the name of the open folder was not displayed in the title bar region.
- 修正了在啟用個別監視器感知時,在檔案中搜尋的位置問題。We have fixed an issue with find in files positioning when per-monitor awareness is enabled.
- 修正了在啟用個別監視器感知時,固定提示轉譯的問題。We have fixed an issue with dock adorner rendering when per-monitor awareness is enabled.
- 您現在可在執行於 Azure VM 的 ASP.NET 應用程式上,透過快照偵錯工具使用時間移動偵錯。You can now use Time Travel Debugging with the snapshot debugger on ASP.NET Apps running on an Azure VM. 請注意,在發行當下,此功能可能不適用於所有 Azure 區域。Please note that this feature may not work in all Azure regions at release.
- 更新了適用於 Kubernetes 的 Visual Studio Tools 中的 Dockerfile scaffolding,以從 Docker Hub 改為使用 Microsoft Container Registry。We have updated the Dockerfile scaffolding in Visual Studio Tools for Kubernetes to use the Microsoft Container Registry instead of Docker Hub.
- 修正了在適用於 Kubernetes 的 Visual Studio Tools 中,修改 Dockerfile.develop 不會重新部署服務的問題。We have fixed an issue in Visual Studio Tools for Kubernetes where modifying Dockerfile.develop does not cause the service to be redeployed.
- 修正了適用於 Kubernetes 的 Visual Studio Tools 中,可能無法啟動 Azure Dev Spaces 專案中服務的問題。We have fixed an issue in Visual Studio Tools for Kubernetes where a service in an Azure Dev Spaces project could fail to start.
- 修正了適用於 Kubernetes 的 Visual Studio Tools 中,Visual Studio 內的偵錯停止後,Azure Dev Spaces 專案中的服務就會停止執行的問題。We have fixed an issue in Visual Studio Tools for Kubernetes where a service in an Azure Dev Spaces project stops running after debugging is stopped in Visual Studio.
- 修正了適用於 Kubernetes 的 Visual Studio Tools 中,在 [Azure Dev Spaces] 對話方塊中挑選帳戶時,有時會顯示 null 參考錯誤對話方塊的問題。We have fixed an issue in Visual Studio Tools for Kubernetes where a null reference error dialog is sometimes displayed when picking accounts in the Azure Dev Spaces Dialog.
- 修正了適用於 Kubernetes 的 Visual Studio Tools 中,新增 Kubernetes 協調流程支援時,會顯示叢集選取對話方塊的問題。We have fixed an issue in Visual Studio Tools for Kubernetes where the cluster selection dialog is displayed when adding Kubernetes orchestration support.
- 修正了在執行個別監視器感知時,[匯入及匯出設定精靈] 的轉譯問題We have fixed rendering of the Import and Export Settings Wizard when running per-monitor aware
- 修正了在執行個別監視器感知時,[新增專案] 對話方塊的大小問題We have fixed sizing of the New Project Dialog when running per-monitor aware
- 精簡了開始視窗的視覺效果We have made a set of visual refinements to the start window
已知問題Known Issues
透過前往以下連結,查看全部現有已知問題和 Visual Studio 2019 版 16.0 中可用的因應措施。See all existing known issues and available workarounds in Visual Studio 2019 version 16.0 by following the below link.
意見反應與建議Feedback and suggestions
我們很希望聽聽您的意見!We would love to hear from you! 若有任何問題,請透過安裝程式或 Visual Studio IDE 本身右上角的回報問題選項來通知我們。For issues, let us know through the Report a Problem option in the upper right-hand corner of either the installer or the Visual Studio IDE itself. 必須提供The 圖示位在右上角。icon is located in the upper right-hand corner.
您可以在 Visual Studio 開發人員社群中提出產品建議或追蹤您的問題,也可以提出問題、尋找解答及提議新功能。You can make a product suggestion or track your issues in the Visual Studio Developer Community, where you can ask questions, find answers, and propose new features. 您也可以透過我們的即時聊天支援取得免費的安裝協助。You can also get free installation help through our Live Chat support.
部落格Blogs
善用「開發人員工具部落格」網站中的見解與建議,讓您能夠隨時取得所有新版本的最新資訊,以及涵蓋各類功能的深入探討文章。Take advantage of the insights and recommendations available in the Developer Tools Blogs site to keep you up-to-date on all new releases and include deep dive posts on a broad range of features.
Visual Studio 2019 版本資訊歷程記錄Visual Studio 2019 Release Notes History
如需舊版 Visual Studio 2019 的相關詳細資訊,請參閱 Visual Studio 2019 版本資訊歷程記錄頁面。For more information relating to past versions of Visual Studio 2019, see the Visual Studio 2019 Release Notes History page.