2019LogoVisual Studio 2019 版本 16.5 发行说明



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


注意

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



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

支持的时间范围

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

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

Visual Studio 2019 版本 16.5 发行版

Visual Studio 2019 博客

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

加入发行说明讨论


Release Notes Icon Visual Studio 2019 版本 16.5.5

发布时间:2020 年 5 月 12 日

此次发布的 Visual Studio 2019 版本 16.5 中的修复内容

安全顾问公告

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

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

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

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


Release Notes Icon Visual Studio 2019 版本 16.5.4

发布时间:2020 年 4 月 14 日

此次发布的 Visual Studio 2019 版本 16.5 中的修复内容

安全顾问公告

CVE-2020-0899 Microsoft Visual Studio 特权提升漏洞

当 Microsoft Visual Studio 更新程序服务不当处理文件权限时,会出现特权提升漏洞。 成功利用了此漏洞的攻击者可覆盖本地系统的安全上下文中的任意文件内容。

CVE-2020-0900 Visual Studio Extension Installer 服务特权提升漏洞

当 Visual Studio Extension Installer 服务不当处理文件操作时,会出现特权提升漏洞。 成功利用了此漏洞的攻击者可使用已提升的权限删除任意位置的文件。

CVE-2020-5260 由于对 URL 的验证不足而导致的 Git for Visual Studio 凭据泄露漏洞

当专门创建的 URL 被分析并发送至凭据帮助程序时,会出现凭据泄露漏洞。 这可能会导致凭据被发送到错误的主机。


Release Notes Icon Visual Studio 2019 版本 16.5.3

发布时间:2020 年 4 月 7 日

此次发布的 Visual Studio 2019 版本 16.5 中的修复内容


Release Notes Icon Visual Studio 2019 版本 16.5.2 New release icon

发布日期:2020 年 3 月 31 日

此次发布的 Visual Studio 2019 版本 16.5 中的修复内容


Release Notes Icon Visual Studio 2019 版本 16.5.1 New release icon

发布日期:2020 年 3 月 24 日

此次发布的 Visual Studio 2019 版本 16.5 中的修复内容


Release Notes Icon Visual Studio 2019 版本 16.5.0

发布日期:2020 年 3 月 16 日

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


Visual Studio IDE


  • 悬停时,会针对选项卡组溢出列表中的每个文档显示一个关闭按钮
  • 选择多个 Azure 目录
  • 在垂直选项卡中实现了用户建议的改进

调试


Azure 工具


C++


F# 语言和工具


  • 提升了大型解决方案的性能
  • 预览版 FSharp.Core 功能现在受到 LangVersion 标志的保护
  • 修复了各种 Bug 并增强了功能

.NET 效率


测试


JavaScript/TypeScript


SQL


UWP/WPF 工具


Xamarin


Visual Studio 版本 16.5 中的新增功能详细信息

Visual Studio IDE

  • 现在可以筛选帐户,选出要向 Visual Studio 提供的特定 Azure Active 目录子集

调试

  • 即使没有符号,你现在也可以反编译托管代码,使你可以查看代码、检查变量并设置断点。

  • 你现在可以通过“附加到进程”对话框窗口附加到 Docker Windows 容器中运行的进程。 Attach to process in Docker Windows container

  • 现在在 Visual Studio 中通过 Open Enclave SDK 支持 Enclave 调试。 有关 Enclave 调试的详细信息,请参阅 aka.ms/OpenEnclaveVisualStudioEnclave debugging

  • 对于 .NET 对象分配跟踪工具中的“分配”视图,已经有几处改进。 首先,已将回溯跟踪视图移动到单独的面板,以便更轻松地区分分配类型和调用的函数。 其次,已翻转回溯跟踪视图中的调用树,以便更轻松地诊断哪些函数分配的内存最多。 最后,已添加指示值和引用类型的图标,并且即将添加另外两个指示值和引用集合的图标! Allocation View

C++

  • C++ 开发人员现在可以在自己的代码库上定型 IntelliCode 模型。 我们称之为团队完成项模型,因为你可以从团队的实践中获益。 此外,我们还改进了成员变量的 IntelliCode 建议。

  • 在使用标准库时,IntelliSense 现在显示可读性更强的类型名称。

  • 我们添加了切换是否将 Enter、Space 和 Tab 函数作为提交字符的功能,以及切换是否使用 Tab 来插入代码片段的功能。 可在“工具”>“选项”>“文本编辑器”>“C/C++”>“高级”>“IntelliSense”下找到这些设置。 Disabling autocomplete options

  • 现在可以利用 Visual Studio 对 WSL 的本机支持从远程部署系统中分离生成系统。 这样便可以在 WSL 上进行本机生成,并将生成项目部署到另一个远程系统进行调试。 CMake 项目和基于 MSBuild 的 Linux 项目都支持此工作流。

  • 现在可以通过命令行与存储的远程连接进行交互。 这对于预配新开发计算机或在持续集成中设置 Visual Studio 等任务非常有用。 C++ Connection Manager

  • Visual Studio 现在支持符合 FIPS 140-2 标准的模式,可用于开发面向远程 Linux 系统的 C++ 应用程序。

  • 面向远程 Linux 系统的 CMake 项目的源文件副本已经过优化。 Visual Studio 现在会保留最近远程复制的一组源的“指纹文件”,并基于已更改的文件数量优化行为。

  • CMake 脚本文件中的函数、变量和目标现支持转到定义和查找所有引用等代码导航功能。 Language services for CMake scripts

  • 无需手动编辑 CMake 脚本,从 IDE 中即可添加、删除和重命名 CMake 项目中的源文件和目标。 当你在解决方案资源管理器中添加或删除文件时,Visual Studio 将自动编辑你的 CMake 项目。 你还可以从解决方案资源管理器的目标视图中添加、删除和重命名项目的目标。 'Add' menu in CMake Targets View

F# 语言和工具

  • 此版本的重点是提升了 Visual Studio 中大型 F# CodeBase 的性能和可伸缩性。 我们直接与有非常大的 CodeBase 的客户携手,共同完成了这项工作。 这项性能提升工作仍在进行中,但如果你有大中型 CodeBase,应该会发现内存使用降低了。

  • 除了性能增强之外,此版本还包括其他各种修复,其中许多是由我们杰出的 F# OSS 社区贡献的。

F# 语言

多项 F# 预览版语言功能已合并。 在项目文件中将 LangVersion 设置为 preview 即可体验它们。

F# 编译器

F# 核心库

用于 Visual Studio 的 F# 工具

F# 开放源代码开发体验

  • F# 存储库中的 FSharp.Compiler.Service 版本已迁移为使用 .NET SDK(由 Chet Husk 提供)

.NET 效率

现在可以将代码片段从现有方法转换为本地函数。 突出显示要提取的代码。 按 (Ctrl+.) 触发“快速操作和重构”菜单 。 选择“提取本地函数”。

Extract local function

现在可以将成员设为静态成员。 将光标置于成员姓名上。 按 (Ctrl+.) 触发“快速操作和重构”菜单 。 选择“设为静态”。

Make members static

现在可以简化字符串内插。 将光标置于字符串内插上。 按 (Ctrl+.) 触发“快速操作和重构”菜单 。 选择“简化内插”

Simplify-string-interpolation

现在可以选择在运行分析器时排除生成的文件或文件夹。 创建 EditorConfig 文件,并使用以下语法标记生成的所需文件或文件夹:

EditorConfig option to exclude generated files or folders

分析器创建者可将自定义代码重构作为 NuGet 包分发,而以前只能将其作为 VSIX 分发。

测试

现在可以分析 .NET Core 测试。 请注意,分析的先决条件是将 .NET Core 项目配置为生成完全的 PDB。 我们还建议升级到最小版本 16.4(对于 Microsoft.Test.SDK)。 这样就可以分析 x86 和 x64 体系结构设置中的测试。 若要分析测试,请从测试资源管理器的上下文菜单中选择“分析”。 Visual Studio 中的静态检测和性能资源管理器 (.vsp) 文档支持测试分析。

除了 x64 和 x86 选项外,用于测试的处理器架构的默认设置现在还具有第三个选项“自动”。 对于针对 .NET Framework 和 .NET Core 测试的测试,“自动”支持不同的默认体系结构。 .NET Framework 测试默认为 x86 测试执行,.NET Core 测试默认为 x64。 “自动”允许用户不设置体系结构选项,并支持这些框架的不同默认值。 以前,x86 在所有情况下均为默认值,但 .NET Core 测试引入了默认值 x64,因此需要对默认设置进行区分。

此版本包含测试发现和执行方面的显著性能改进,特别是在包含大量测试的大型解决方案中。 我们建议你运行自己的基准,以评估其价值。 通过使用 Roslyn 基本代码(C# 和 Visual Basic 编译器),测试资源管理器会将内存消耗从 50% 减少到 60%,并将加载时间减少最多 60%。

Live Unit Testing 现已推出更好的诊断。 当 Live Unit Testing 生成失败时,其他诊断信息将打印到输出,包括 MSBuild 日志。 它还将报告输出路径硬编码的情况。

JavaScript/TypeScript

VS Search 现在支持在 TypeScript 和 JavaScript 文件中搜索类型和成员。 还支持在开放标记文件(即 HTML、CSHTML)中搜索 JavaScript 块

Visual Studio 现在支持 Typescript 文件的 ESLint:存在一个包含一组建议规则的全局配置,或可在本地将 ESLint 设置为可完全自定义的项目。 有关详细信息和说明,请参阅 GitHub 页面

Xamarin

  • 通过 XAML 热重载,你现在可以查看一次在多个 Xamarin.Forms 目标上更新的更改。 使用多个启动项目调试应用,更改 XAML,然后点击“保存”以同时在 Android 和 iOS 上显示更改。

  • 现在可以在“文档大纲”窗格中查看 Xamarin.Forms 控件的层次结构。 在 Windows 中,可以通过 Ctrl+Alt+T(“视图”>“其他窗口”>“文档大纲”)打开它。 在 Mac 上,可以通过“视图”>“Pad”>“文档大纲”打开它。

  • 现在可以使用 Android Apply Changes 在运行时应用 Android 资源更改。 使用此功能,可快速在 Android 设备或仿真器上查看对 Android 资源文件(XML 布局、可绘制资源等)进行的更改,而无需重启应用程序。

Android Apply Changes
  • 在 Android 应用程序中使用启动跟踪时,现在可以生成自己的自定义配置文件。 这可大幅提高启动性能,且 APK 大小的增加幅度极小。
  • 现在可针对 Kotlin 库生成 Xamarin.Android 绑定。
  • 现在可以使用 Google Manifest Merger 合并 Android 项目中的 AndroidManifest.xml 文件。 使用此工具,可自定义每个清单及其内容的合并方式。 有关可以应用的规则的详细信息,请参阅合并多个清单文件
  • 现在可以选择使用新选项,在完成对代码库的任何修改时自动重新加载所有打开的设计器图面。
Custom Control Quick Changes for Android Layouts
  • 利用合并的编辑器功能提高 IntelliSense 的响应能力和精度。 这包括许多更改,例如完善常用的 XML 构造(例如属性引用)和自动更新结束标记名称。 可以通过 Android XML 编辑器首选项来控制这些行为:
Android XML IntelliSense Options

UWP/WPF 工具

  • 将项目解决方案资源管理器中的图像拖动到 XAML 编辑器中会生成 XAML 图像标签,并且其“源”属性设置为正确的图像路径。

  • XAML 设计器中的更改“美工板背景”颜色现在适用于 WPF .NET Core 项目(“选项”>“环境”>“字体和颜色”,然后更改为“XAML 设计器”设置并更新美工板背景)

  • XAML 设计器现在支持加载项目文件中包含 PublishSingleFile、RuntimeIdenfier 和 PublishTrimmed 设置的 .NET Core 3.x 项目。 请注意,包含这些设置会降低设计器性能。

来自开发者社区的热门问题



已知问题

单击以下链接,查看 Visual Studio 2019 版本 16.5 中的所有问题和可用解决办法。

Visual Studio 2019 Known Issues

反馈和建议

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


Blogs

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


Visual Studio 2019 发行说明历史记录

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


返回页首