2019LogoVisual Studio 2019 版本 16.6 发行说明



开发者社区 | 系统要求 | 兼容性 | 可分发代码 | 发布历史记录 | 许可条款 | 博客 | Visual Studio 新增功能文档


注意

此版本不是最新版本的 Visual Studio。 若要下载最新版本,请访问 Visual Studio 网站。



Visual Studio 2019 版本 16.6 中的新增功能

支持的时间范围

此版本现已不受支持。 有关 Visual Studio 支持的详细信息,请查看 Visual Studio 2019 的支持策略

请参阅最新版本的发行说明或访问 Visual Studio 站点下载最新支持的 Visual Studio 2019 版本。

Visual Studio 2019 版本 16.6 发行版

Visual Studio 2019 已存档的发布说明

Visual Studio 2019 博客

可从 Visual Studio 2019 博客获取来自 Visual Studio 工程团队的官方产品见解。 有关 Visual Studio 2019 版的详细信息,可参阅以下文章:

加入发行说明讨论


Release Notes Icon Visual Studio 2019 版本 16.6.4

发布时间:2020 年 7 月 14 日

16.6.4 版的安全顾问公告

CVE-2020-1393 诊断中心标准收集器服务特权提升漏洞

当因 Windows 诊断中心标准收集器服务未能正确纠正输入而导致不安全的库加载行为时,则存在特权提升漏洞。

CVE-2020-1416 Visual Studio 特权提升漏洞

在 Visual Studio 中加载软件依赖项时,存在特权提升漏洞。

CVE-CVE-2020-1147 .NET Core 拒绝服务漏洞

未经过身份验证的远程攻击者可能通过向 ASP.NET Core 应用程序或其他分析特定 XML 类型的应用程序发布特制请求来利用此漏洞。 安全更新通过限制可在 XML 有效负载中呈现的类型来解决此漏洞。

Visual Studio 2019 版本 16.6.4 中已修复的主要问题


Release Notes Icon Visual Studio 2019 版本 16.6.3

发布日期:2020 年 6 月 30 日

Visual Studio 2019 版本 16.6.3 中已修复的主要问题


Release Notes Icon Visual Studio 2019 版本 16.6.2

发布日期:2020 年 6 月 9 日

16.6.2 版的安全顾问公告

CVE-2020-1108 / CVE-2020-1108 .NET Core 拒绝服务漏洞

为了全面解决 CVE-2020-1108,Microsoft 发布了 .NET Core 2.1 和 .NET Core 3.1 的更新。 使用任何这些版本的 .NET Core 的客户都应安装最新版本的 .NET Core。 有关最新版本号和 .NET Core 更新说明,请参阅发行说明

CVE-2020-1202 / CVE-2020-1203 诊断中心标准收集器服务特权提升漏洞

如果诊断中心标准收集器或 Visual Studio 标准收集器未能正确处理内存中的对象,就会存在特权提升漏洞。

CVE-2020-1293 / CVE-2020-1278 / CVE-2020-1257 诊断中心标准收集器服务特权提升漏洞

如果诊断中心标准收集器服务对文件操作的处理不当,就会存在特权提升漏洞

Visual Studio 2019 版本 16.6.2 中修复的主要问题


Release Notes Icon Visual Studio 2019 版本 16.6.1

发布日期:2020 年 6 月 1 日

Visual Studio 2019 版本 16.6.1 中已修复的主要问题


Release Notes Icon Visual Studio 2019 版本 16.6.0

发布日期:2020 年 5 月 19 日

16.6.0 版的安全顾问公告

CVE-2020-1108 .NET Core 拒绝服务漏洞

未经过身份验证的远程攻击者可以通过向 .NET Core 应用程序发布特制请求利用此漏洞。 此安全更新通过纠正 .NET Core Web 应用程序处理 Web 请求的方式修复此漏洞。

CVE-2020-1161 .NET Core 拒绝服务漏洞

远程未经过身份验证的攻击者可以通过向 ASP.NET 应用程序发布特制请求利用此漏洞。 此安全更新通过纠正 ASP.NET Core Web 应用程序处理 Web 请求的方式解决此漏洞。

此次发布的 Visual Studio 2019 版本 16.6.0 内容


C++

改进了 Doxygen/XML 注释生成:在函数上方键入“///”或“/**”会自动生成 Doxygen 或 XML 文档注释存根。 它们现在也显示在“快速信息工具提示”中。

Generate and consume Doxygen-style comments
生成并使用 Doxygen 样式注释

对 CMake for Linux/WSL 的 Ninja 支持: 在 WSL 或远程系统上生成 CMake 项目时,请使用 Ninja 作为基础生成器。 添加新的 Linux 或 WSL 配置时,Ninja 是默认生成器。

远程 CMake 调试的调试模板: 我们已简化了用于在远程 Linux 系统或 WSL 上通过 gdb 调试 CMake 项目的模板。

C++ 20 概念的初始支持:IntelliSense 现可识别 C++20 概念并在成员列表中推荐它们。

调试

在不要求重启的情况下实现 Snapshot Debugger 附加:现在,无需重启便可将 Snapshot Debugger 安装在 Azure 应用服务 (ASP.NET Core 3.1) 上,这样就可以在不中断服务的情况下调试和诊断实时问题! 首次附加到 Snapshot Debugger 时会提示在 Azure 应用服务部署上安装 Snapshot Debugger 站点扩展,而此操作需要重启。

反编译方面的用户体验改进:反编译进程将使用现有的 PDB 为局部变量生成更好的名称。

Git 效率

  • 克隆仅包含一个解决方案的存储库;克隆完成后,会自动加载该解决方案。

JavaScript/TypeScript

  • TSServer 进度栏:语言服务打开 TypeScript 项目后,用户将能够在后台任务小组件中查看正在打开的已配置项目的进度。

  • 新的多目标 JavaScript/TypeScript 调试和服务辅助角色支持:JavaScript/TypeScript 调试器现支持同时调试服务辅助角色、Web 辅助进程、iFrame 和页面 JavaScript! 此外,新的调试体验还支持在浏览器中同时调试后端节点服务器应用程序和客户端 JavaScript。 该功能仍以试验版提供。 可以在“调试选项”菜单中启用新的调试体验

  • 已更新“签名帮助”和“转到定义”的实现以更好地支持 LiveShare 场景。

适用于 .NET Core 和 SDK 样式项目的 Microsoft Fakes

Microsoft Fakes 现支持 .NET Core! 很多用户希望将他们的应用和测试套件迁移到 .NET Core 中;借助 Fakes 对 .NET Core 的支持,该过程的很大一部分成为了现实。 可在“工具”>“选项”>“预览功能”中启用此功能。 Fakes 是一种模拟框架,它可使用存根和填充码模拟产品代码的某些部分,从而将测试隔离开来。 此模拟有助于将测试和产品代码分开,让它能专注于仅测试与给定测试相关的内容。

编辑器

列表视图:通过新的“在文件中查找”体验,我们获得了以前的结果格式(无格式的平面文本)对特定用途有所帮助的反馈。 现在,“结果”面板中提供“列表视图”,支持以先前格式访问结果。

重复查找:“在文件中查找”操作的“结果”窗口现包含“重复查找”按钮。 此按钮将获取用于搜索的所有选项,并使用这些选项重新填充“在文件中查找”面板。 这样就可以更轻松地在进行一些更改后重复搜索,或调整搜索来帮助缩小结果范围。 当焦点在“结果”窗口中时,键入 Alt+R,然后按 Enter 即会重复搜索。

.NET 效率

添加隐式强制转换代码修补程序:现在有一个代码修补程序,可以在无法隐式强制转换表达式时添加显式强制转换。 将光标置于错误上,并按下 (Ctrl+.) 触发“快速操作和重构”菜单。 选择“添加显式强制转换”。 Add explicit cast

简化条件表达式重构:通过移除不必要的代码来简化条件表达式。 将光标置于条件表达式上。 按 (Ctrl+.) 触发“快速操作和重构”菜单 。 选择“简化条件表达式”Simplify conditional expressions

将常规字符串字面量转换为逐字字符串字面量重构:将光标置于常规字符串字面量上。 按 (Ctrl+.) 触发“快速操作和重构”菜单 。 选择“转换为逐字字符串”。 Convert to verbatim string

将逐字字符串字面量转换为常规字符串字面量重构:将光标置于逐字字符串字面量上。 按 (Ctrl+.) 触发“快速操作和重构”菜单 。 选择“转换为规则字符串”。 Convert to regular string

直接通过编辑器批量配置分析器类别的严重级别:将光标置于错误、警告或建议和类型 (Ctrl+.) 上以触发“快速操作和重构”菜单。 选择“禁止或配置方面的问题”。 然后选择“配置所有 {category name} 分析器的严重性”。 这将使用类别的新严重性更新现有的 EditorConfig 文件。 Bulk configure analyzer categories

针对包含返回值和值标记的 XML 注释的快速信息样式支持:将光标悬停在元素上。 然后,快速信息将从代码上方的 XML 注释中显示支持的样式。 XML style support for returns and value tags

使用 EditorConfig 将文件头添加到现有文件、项目和解决方案:首先需要将 file_header_template 规则添加到 EditorConfig 文件。 然后,需要将值设置为等于所要应用的标头文本。 Add file header rule

接下来将光标置于任何 C# 或 Visual Basic 文件的第一行,然后键入 (Ctrl+.),触发“快速操作和重构”菜单。 选择“添加文件横幅”。 如果要将文件头应用到现有项目或解决方案的所有文件,请选择“修复以下对象中的所有实例:”选项下面的“项目”或“解决方案”Add file header

Web 工具

用于配置 Azure 服务和仿真器的新体验:“连接的服务”选项卡现在提供将应用程序连接到 Azure 服务(例如 Azure SQL、存储、Key Vault 等)的新体验。 它可帮助你预配新的实例(或选择现有实例),并确保代码具有最新的 NuGet 包和正确的启动配置代码。 如果可能,也可以使用本地仿真选项。

对发布体验的更新:发布现在提供了一个类似于向导的新体验,用于创建新的发布配置文件,指导你完成各种选项。 即使安装中缺少某些 Visual Studio 组件,你仍可访问完整的发布目标和选项集;任何缺少的组件都将被标识并请求按需安装。 还更新了“发布配置文件摘要”页,以匹配“连接的服务”选项卡下提供的用于配置 Azure 服务依赖项的体验。

Windows 窗体

适用于 .NET Core 的 Windows 窗体设计器

.NET Core 项目的 Windows 窗体设计器现已可用。 若要在 Visual Studio 中启用该设计器,请转到“工具”>“选项”>“环境”>“预览功能”,然后选择“将预览版 Windows 窗体设计器用于 .NET Core 应用”选项。

Windows Forms Designer for .NET Core

在此版本中,我们进行了以下改进,包括支持更多控件:

  • 支持所有对话框控件、PropertyGrid、HScrollBar、VScrollBar、DomainUpDown 和 TrackBar
  • 拖放改进
  • 选择改进
  • 稳定性和 bug 修复

WPF/UWP 工具

打包向导中的 Azure Key Vault:UWP 开发人员现可使用直接从打包向导中的 Azure Key Vault 获得的代码签名证书对其应用包进行签名。 只需具有 Key Vault 的 URI 以及对 Microsoft 帐户的适当权限即可。 所选证书将导入到用户的本地证书存储,可在这里用它进行签名。 受密码保护的本地证书现在也可使用 Key Vault 中的密钥进行解密。

XAML 热重载和实时可视化树现在持同时附加到多个进程。 这有助于多种场景,例如当某个解决方案同时启动多个 WPF/UWP 项目时,或者你当前使用的 UWP 应用在使用多实例时。 为了实现这一点,我们更新了实时可视化树,在其中添加了新的顶级进程节点以将来自同一进程的元素组合在一起。 Live Visual Tree with multiple processes attached

工具箱现在支持包含多个 VisualStudioToolsManifest.xml 文件的 NuGet 包:这使 NuGet 包作者可以根据引用项目的框架/平台版本更改工具箱中显示的控件。 工具箱将显示清单中的项,其工具子目录目标框架名字对象 (TFM) 与项目的目标框架/平台最匹配。 如果未找到 TFM 匹配项,它将回退到工具目录的根目录中的清单。 还需要此根清单,以便与早期版本的 Visual Studio 兼容。

新设置:保存时 XAML 热重载。 默认情况下,XAML 热重载会将所有有效的 XAML 更改实时发送到正在运行的应用。 在此版本中,我们添加了一个新设置(“调试”>“选项”>“常规”>“启用适用于 XAML 的 UI 调试工具”>“在保存文档时应用 XAML 热重载”),开发人员可以通过此设置选择此行为的工作方式。 如果启用此设置,则在保存要编辑的文件之前,不会应用 XAML 热重载更改。

已添加对类设计器的深色主题支持

Class Designer now supports dark theme

Xamarin

XAML 热重载现在可以仅重载页面上更改的内容,而不是整个页面。 通过在“工具”>“选项”>“Xamarin”>“热重载”中更改“重载选项”设置来进行尝试

查看正在运行的应用程序中页面上元素的实时可视化树。 通过“调试”>“Windows”>“实时可视化树”,在 XAML 热重载调试会话期间打开实时可视化树

使用“环境设置”板替代模拟器的设置,例如深色/浅模式、字体大小等。 通过“调试”>“Windows”>“环境设置”,在 XAML 热重载会话中打开它

编辑 Android XML 时,可以使用 Lint 配置文件并从更多 IntelliSense 建议中进行选择


Bug 修复

Visual Studio 2019 版本 16.6.0 中已修复的主要问题

  • 启用“新 Git 体验”功能标志后,团队资源管理器中将出现一条消息,指导用户进入新的 Git 工具窗口。
  • 解决了以下问题:当 WinForms .NET Core 设计器处于打开状态时,关闭 VS 会导致间歇性 UI 延迟。
  • 解决了以下问题:使用类型提供程序创建项目时,运行时引发缺失方法异常。
  • 修复了 .NET Framework 项目的项目创建问题。
  • 新的“在文件中查找”体验遵循“Tools-Options-Find”和“Replace”窗格中的选项。
  • 修复了以下 bug:关闭文件夹和打开解决方案时,Git 存储库不会更改。
  • 修复了以下 bug:使用完整的调试符号生成 iOS 应用时出现问题。
  • 添加了对 Mac Distribution 预配配置文件和 Windows 证书的反向浏览。
  • 修复了以下 bug:在某些场景中使用 Xamarin 项目时,此 bug 导致 Visual Studio 2019 停止响应。
  • 在 SQL 脚本结果网格中添加了针对“带标头复制”的键盘快捷方式
  • SSDT 用户现可设置和查看 SQL Server 2008 以上的所有版本的敏感度属性
  • 改进“连接属性”对话框,使其更易于用户访问。
  • 解决了使用“已用 CodeLens 测试”指示器时偶尔发生崩溃的问题。
  • 确保“在文件中查找”文本的自动填充与旧行为一样。
  • 确保“在文件中查找”中左箭头键的行为正确。
  • 阻止 C++ 20 范围的 C++ 用户使用算法的问题。

来自开发者社区


已知问题

通过以下链接查看 Visual Studio 2019 中所有待解决问题和可用暂避方法。

Visual Studio 2019 版本 16.6 已知问题

反馈和建议

我们期待你的宝贵意见和建议! 如有问题,请通过安装程序或 Visual Studio IDE 右上角的“报告问题”选项告知我们。 Feedback Icon图标位于右上角。 可以在 Visual Studio 开发者社区中提出产品建议或跟踪问题,也可在其中提问、寻找答案和建议新功能。 此外,还可通过实时聊天支持获得免费安装帮助。


Blogs

通过参考开发人员工具博客网站中的见解和建议,随时掌握所有新版本的最新最全资讯,并发表有关大量功能的深入分析帖子。


Visual Studio 2019 发行说明历史记录

要详细了解 Visual Studio 2019 的历史版本,请查看 Visual Studio 2019 发行说明历史记录


返回页首