2022Logo Visual Studio 2022 版本 17.2 发行说明


提示

观看 Visual Studio 2022 发布活动的录制内容,了解新功能,听取提示和技巧,并下载免费的数字材料。

开发者社区 | Visual Studio 2022 路线图 | 系统要求 | 兼容性 | 可分发代码 | 发行历史记录 | 许可条款 | 博客 | 最新版本已知问题 | Visual Studio 新增功能文档


Visual Studio 2022 版本 17.2

支持的时间范围

配置为在 17.2 LTSC 频道上接收更新的 Visual Studio 2022 版本 17.2 的 Enterprise 和 Professional 用户提供支持,他们将在 2024 年 1 月之前收到针对安全漏洞的修补程序。 有关 Visual Studio 支持的基线的详细信息,请查看 Visual Studio 2022 的支持策略

单击下面的按钮之一,从 17.2 LTSC 频道下载 Visual Studio 2022 版本 17.2 的最安全版本。 可以在 Visual Studio 订阅网站上找到其他 17.2 LTSC 产品。

下载 Enterprise 版按钮下载 Professional 版按钮

Visual Studio Community 版本仅在具有 Visual Studio 最新次要版本的最新服务版本的当前频道上受支持。

访问 Visual Studio 网站可访问最新版本的 Visual Studio 2022 产品的链接。 有关如何安装和更新 Visual Studio 2022 的说明,请参阅将 Visual Studio 2022 更新到最新版本Visual Studio 管理员指南包含有关如何在整个组织中部署 Visual Studio 的指南。

Visual Studio 2022 版本 17.2 发行版

Visual Studio 2022 博客

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

Visual Studio 2022 已存档的发布说明


17.2.23 Visual Studio 2022 版本 17.2.23

发布时间:2024 年 1 月 9 日

此次发布的 17.2.23 中解决的问题

  • 将 MinGit 更新到了 v2.43.0.1(该版本与 OpenSSL v3.1.4 一起提供),并解决了在某些情况下网络操作非常缓慢的性能下降问题。

已解决的安全公告

  • CVE-2024-20656 VSStandardCollectorService150 服务中存在漏洞,本地攻击者可以在运行 Microsoft Visual Studio 受影响安装的主机上提升特权。
  • CVE-2023-32027 此公告已重新发布,以解决 Visual Studio 中的 Microsoft ODBC Driver for SQL Server 远程代码执行漏洞。
  • CVE-2023-32025 此公告已重新发布,以解决 Visual Studio 中的 Microsoft ODBC Driver for SQL Server 远程代码执行漏洞。
  • CVE-2023-32026 此公告已重新发布,以解决 Visual Studio 中的 Microsoft ODBC Driver for SQL Server 远程代码执行漏洞。
  • CVE-2023-29356 此公告已重新发布,以解决 Visual Studio 中的 Microsoft ODBC Driver for SQL Server 远程代码执行漏洞。
  • CVE-2023-32028 此公告已重新发布,以解决 Visual Studio 中的 Microsoft SQL OLE DB 远程代码执行漏洞。
  • CVE-2023-29349 此公告已重新发布,以解决 Visual Studio 中的 Microsoft ODBC 和 OLE DB 远程代码执行漏洞。
  • CVE-2024-0057 存在安全功能绕过漏洞,当基于 Microsoft .NET Framework 的应用程序使用 X.509 链生成 API 时,由于逻辑缺陷,无法完全验证 X.509 证书。
  • CVE-2024-0056 Microsoft.Data.SqlClient 和 System.Data.SqlClient SQL 数据提供程序中存在漏洞,攻击者可以在 SQL 客户端和 SQL 服务器之间执行拦截攻击(有时称为 MITM,即中间人攻击)。
  • CVE-2024-21319 Microsoft 发布此安全公告旨在提供 ASP.NET Core 项目模板中的漏洞相关信息。

17.2.22 Visual Studio 2022 版本 17.2.22

发布时间:2023 年 11 月 14 日

此次发布的 17.2.22 中解决的问题

已解决的安全公告

  • CVE-2023-36038ASP.NET IIS 中存在漏洞:远程未经身份验证的用户可以向 .NET 应用程序发出特制的请求,这可能会导致拒绝服务。
  • CVE-2023-36049.NET 中存在特权提升漏洞:提供给 System.Net.WebRequest.Create 的不受信任的 URI 可用于向后端 FTP 服务器注入任意命令。
  • CVE-2023-36558ASP.NET 存在安全功能绕过漏洞:未经身份验证的用户可绕过 blazor server 窗体上的验证,这可能会触发意外的操作。
  • CVE-2023-36042Visual Studio 中存在拒绝服务漏洞:格式不正确的修饰名称可能会导致无限循环。

17.2.21 Visual Studio 2022 版本 17.2.21

发布日期:2023 年 10 月 24 日

此次发布的 17.2.21 中解决的问题

安全公告已重新发布

  • CVE-2023-36799.NET 中存在一个漏洞:读取恶意制作的 X.509 证书可能会导致拒绝服务。 此问题只影响 Linux 系统。
  • CVE-2023-36796此安全更新解决了 DiaSymReader.dll 中读取损坏的 PDB 文件时可能导致远程执行代码的漏洞。
  • CVE-2023-36794此安全更新解决了 DiaSymReader.dll 中读取损坏的 PDB 文件时可能导致远程执行代码的漏洞。
  • CVE-2023-36793此安全更新解决了 DiaSymReader.dll 中读取损坏的 PDB 文件时可能导致远程执行代码的漏洞。
  • CVE-2023-36792此安全更新解决了 DiaSymReader.dll 中读取损坏的 PDB 文件时可能导致远程执行代码的漏洞。

17.2.20 Visual Studio 2022 版本 17.2.20

发布日期:2023 年 10 月 10 日

此次发布的 17.2.20 中已解决的问题

  • MSVC v143 C++ 生成工具选项 v14.32-17.2 现在会安装正确的应用本地可再发行二进制文件版本。
  • Microsoft 注意到了一个漏洞:SmtpClient 类中可能发生 SMTP 地址注入。 这对应于 CVE-2022-26893(不是发布的 CVE,因为该漏洞被评估为“中等”)。

已解决的安全公告

  • CVE-2023-36435MsQuic.dll 中存在内存泄漏漏洞,这可能导致拒绝服务。 此问题只影响 Windows 系统。
  • CVE-2023-38171MsQuic.dll 中存在空指针漏洞,这可能会导致拒绝服务。 此问题只影响 Windows 系统。
  • CVE-2023-44487ASP.NET Core Kestrel Web 服务器中存在漏洞,恶意客户端可能会向服务器发送大量特制的 HTTP/2 请求,从而导致拒绝服务。

17.2.19 Visual Studio 2022 版本 17.2.19

发布日期:2023 年 9 月 12 日

此次发布的 17.2.19 中已解决的问题

  • 将 Visual Studio 使用的 Git 版本更新为了 v2.41.0.3。
  • Microsoft 注意到了一个漏洞:SmtpClient 类中可能发生 SMTP 地址注入。 这对应于 CVE-2022-26893(不是发布的 CVE,因为该漏洞被评估为“中等”)。

已解决的安全公告

  • CVE-2023-36799.NET 中存在一个漏洞:读取恶意制作的 X.509 证书可能会导致拒绝服务。 此问题只影响 Linux 系统。
  • CVE-2023-36796此安全更新解决了 DiaSymReader.dll 中读取损坏的 PDB 文件时可能导致远程执行代码的漏洞。
  • CVE-2023-36794此安全更新解决了 DiaSymReader.dll 中读取损坏的 PDB 文件时可能导致远程执行代码的漏洞。
  • CVE-2023-36793此安全更新解决了 DiaSymReader.dll 中读取损坏的 PDB 文件时可能导致远程执行代码的漏洞。
  • CVE-2023-36792此安全更新解决了 DiaSymReader.dll 中读取损坏的 PDB 文件时可能导致远程执行代码的漏洞。
  • CVE-2023-36759此安全更新移除了 pgodriver.sys,在其中读取恶意文件可能会导致权限提升。

17.2.18 Visual Studio 2022 版本 17.2.18

发布日期:2023 年 8 月 8 日

此次发布的 17.2.18 中已解决的问题

  • Microsoft 注意到了一个漏洞:SmtpClient 类中可能发生 SMTP 地址注入。 这对应于 CVE-2022-26893(不是发布的 CVE,因为该漏洞被评估为“中等”)。
  • 解决了 VSWhere 的所有交换机不会返回处于不可启动状态的实例的问题。

已解决的安全公告

  • CVE-2023-35390* CVE-2023-35390在权限较弱的目录中使用某些 dotnet 命令时存在漏洞,可能会导致远程代码执行。
  • CVE-2023-38180 Kestrel 中存在一个漏洞:在检测到潜在恶意客户端时,Kestrel 有时会无法断开连接,导致拒绝服务。
  • CVE-2023-35391 ASP.NET Core 2.1、.NET 7.0 和 .NET 6.0 应用程序中存在漏洞:在使用 Redis 底板时使用 SignalR 可能会导致信息泄露。
  • CVE-2023-36897 针对 Office 运行时欺骗漏洞的 Visual Studio 2010 Tools 此安全更新解决了未经身份验证的远程攻击者可以在没有有效代码签名证书的情况下对 VSTO 加载项部署进行签名的漏洞。

17.2.17 Visual Studio 2022 版本 17.2.17

发布时间:2023 年 7 月 11 日

此次发布的 17.2.17 中已解决的问题

已解决的安全公告


17.2.16 Visual Studio 2022 版本 17.2.16

发布日期:2023 年 6 月 13 日

此次发布的 17.2.16 中已解决的问题

已解决的安全公告


17.2.15 Visual Studio 2022 版本 17.2.15

发布日期:2023 年 4 月 11 日

此次发布的 17.2.15 中已解决的问题

  • 修复当无效输入发送到在内核模式驱动程序的 PGO 训练期间使用的驱动程序时发生故障的问题。
  • 修复了 IIS Express 更新遥测数据时可能导致故障的问题。

开发人员社区

已解决的安全公告


17.2.14 Visual Studio 2022 版本 17.2.14

发布日期:2023 年 3 月 14 日

此次发布的 17.2.14 中已解决的问题

  • Git 2.39 已将 credential.helper 的值从“manager-core”重命名为“manager”。 有关详细信息,请参阅https://aka.ms/gcm/rename
  • 将适用于 Windows 的 mingit 和 Git 包更新至 v2.39.2,这解决了 CVE-2023-22490

已解决的安全公告


17.2.13 Visual Studio 2022 版本 17.2.13

发布日期:2023 年 2 月 14 日

此次发布的 17.2.13 中已解决的问题

  • 已将 CPython 解释器更新至版本 3.9.13。
  • 已将适用于 Windows 的 mingit 和 Git 包更新至 v2.39.1.1,这解决了 CVE-2022-41903

已解决的安全公告


17.2.12 Visual Studio 2022 版本 17.2.12

发布日期:2023 年 1 月 10 日

已解决的安全公告

  • CVE-2023-21538 .NET 拒绝服务漏洞 .NET 6.0 中存在拒绝服务漏洞,其中恶意客户端可能会导致堆栈溢出,这可能会在攻击者向公开的终结点发送无效请求时导致拒绝服务攻击。

17.2.11 Visual Studio 2022 版本 17.2.11

发布日期:2022 年 12 月 13 日

已解决的安全公告

  • CVE-2022-41089 远程代码执行 .NET Core 3.1、.NET 6.0 和 .NET 7.0 中存在远程代码执行漏洞,恶意执行组件可能会导致用户因分析恶意制作的 xps 文件而运行任意代码。

17.2.10 Visual Studio 2022 版本 17.2.10

发布日期:2022 年 11 月 8 日

已解决的安全公告


17.2.9 Visual Studio 2022 版本 17.2.9

发布时间:2022 年 10 月 11 日

此次发布的 17.2.9 中已解决的问题

  • 管理员将能够从布局更新脱机客户端计算机上的 VS 安装程序,而无需更新 VS。

已解决的安全公告

  • CVE-2022-41032 .NET 特权提升漏洞 .NET 7.0.0-rc.1、.NET 6.0、.NET Core 3.1 和 NuGet 客户端(NuGet.exe、NuGet.Commands、NuGet.CommandLine、NuGet.Protocol)存在漏洞,恶意执行组件可能导致用户执行任意代码。

17.2.8 Visual Studio 2022 版本 17.2.8

发布日期:2022 年 9 月 13 日

此次发布的 17.2.8 中已解决的问题

来自开发者社区

已解决的安全公告

CVE-2022-38013 .NET 拒绝服务漏洞 ASP.NET Core 3.1 和 .NET 6.0 中存在拒绝服务漏洞,其中恶意客户端可能会导致堆栈溢出,这可能会在攻击者发送在模型绑定期间分析的自定义有效负载时导致拒绝服务攻击。


17.2.7 Visual Studio 2022 版本 17.2.7

发布日期:2022 年 8 月 9 日

此次发布的 17.2.7 中已解决的问题

  • 将并行 16.11 C++ 工具集更新到了版本 14.29.30146.00
  • 在 17.1.4 更新后对 Git 错误进行补充修复 - Visual Studio 反馈,方法是遵循以前标记为安全的存储库(而不去覆盖)。
  • 将 MinGit 更新到版本 2.37.1.1 以解决 CVE - CVE-2022-29187 (mitre.org) 问题,该问题会让用户受到漏洞的危害,即导航到用户拥有的但其他用户可以写入的存储库可能会被利用来运行恶意代码。
  • 将适用于 Windows 的 Git 更新为 v2.37.1.1,用于解决 CVE-2022-31012。
  • 修复了默认终端配置文件将启动并快速关闭的问题。 如果问题仍然存在,将配置文件还原到默认集应可修复此问题。

来自开发者社区

已解决的安全公告


17.2.6 Visual Studio 2022 版本 17.2.6

发布时间:2022 年 7 月 12 日

此次发布的 17.2.6 中已解决的问题

  • 删除了某些授权遥测,此类授权遥测在某些情况下导致 Visual Studio 在启动时显示毫无意义的 OS 登录对话框。
  • 更新了 LibraryManager 以适应 cdnjs API 的更改
  • 修复了在同一编辑会话中重新打开 F# 项目时,智能感知停止工作的问题。

来自开发者社区


17.2.5 Visual Studio 2022 版本 17.2.5

发布日期:2022 年 6 月 22 日

此次发布的 17.2.5 中已解决的问题

  • 修复了 VC++ 运行时中的 bug:MFC OLE 链接/嵌入容器出现链接中断
  • 修复了 VS2022 和 VS2015 SxS 安装(或老版本)导致 VS 无法扫描扩展的问题。
  • 改进了预配 Azure 容器应用时容器名称的验证。

来自开发者社区

17.2.4 Visual Studio 2022 版本 17.2.4

发布日期:2022 年 6 月 14 日

此次发布的 17.2.4 中已解决的问题

  • 将并行 Dev 16.11 C++ 工具集更新到版本 14.29.30145.00。 最新版本的 Dev 16.11 C++ 工具集包含重要的 bug 修补程序,包括修复所有剩余的 C++20 缺陷报告。 有关 bug 修补程序的信息(包括 Dev 16.11 中的 C++20 缺陷报告),请参阅 Visual Studio 2019 版本 16.11.14 发行说明
  • 修复了第一次加载包时(通过 DTE.Properties 应用该包的设置时)或在使用 DTE.Properties 的其他场景中的潜在挂起

来自开发者社区

已解决的安全公告


17.2.3 Visual Studio 2022 版本 17.2.3

发布日期:2022 年 5 月 31 日

此次发布的 17.2.3 中已解决的问题

  • 将适用于 Windows 11 版本 22H2 的 Windows SDK (10.0.22621) 添加为 Visual Studio 安装程序中的可选组件。
  • 解决了单击“创建拉取请求”时不会打开浏览器转到托管提供程序的“创建拉取请求”页的问题。
  • 当 Git 检测到不安全存储库并允许将该存储库标记为安全时,会添加通知。

来自开发者社区


17.2.2 Visual Studio 2022 版本 17.2.2

发布日期:2022 年 5 月 24 日

此次发布的 17.2.2 中已解决的问题

  • 使用面向 Windows 应用 SDK 1.1.0 版本的 WinUI 项目时,修复了包和发布向导中的崩溃。

来自开发者社区


17.2.1 Visual Studio 2022 版本 17.2.1

发布日期:2022 年 5 月 17 日

此次发布的 17.2.1 中已解决的问题

  • 修复了具有重叠值的 C++ 枚举类型的假正 C26828 警告。
  • 在 ASAN 初始化之前分配内存的情况下,修复了错误的 AddressSanitizer 错误报告。

来自开发者社区


Visual Studio 2022 版本 17.2.0 的新增内容

Visual Studio 2022 博客

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

支持的时间范围

Visual Studio 2022 版本 17.2 是 Visual Studio 2022 支持的第二个长期服务通道。 建议需要采用长期稳定且安全的开发环境的 Enterprise 和 Professional 客户对此版本进行标准化。  正如我们在生命周期和支持策略中详细说明的那样,版本 17.2 将在 18 个月内得到修复和安全更新支持,直至 2024 年 1 月。

可在 my.visualstudio.com 的下载部分Microsoft 目录中获取 Visual Studio 2022 版本 17.2 的最新最安全版本。 有关 Visual Studio 支持的通道的详细信息,请查看 Visual Studio 2022 的支持策略

Visual Studio 2022 已存档的发布说明


安装程序

  • 对于 17.2,我们修复了由于系统注册表中的 GPO 策略设置导致客户无法安装 Visual Studio 的问题。 对于此安装,Visual Studio 现在的运行方式与 WebView2 的运行方式相同。

编辑器

  • Visual Studio 现在可以在应用程序失去焦点时自动保存代码文档。 可以通过“工具”>“选项”>“环境”>“文档”访问此功能。 如果选中了“自动保存”选项,每当 Visual Studio 应用程序失去焦点时(例如在 Windows 中切换到另一个应用程序),Visual Studio 将尝试保存所有的脏代码文档。

C++

  • 在 17.1 中,我们为嵌入式开发人员引入了外围寄存器和 RTOS 视图。 我们会在 17.2 中提高可用性,从而继续改进这些视图的功能。 用户现在可以单击外围设备、寄存器或字段旁边的固定图标,将它们固定到外围设备视图的顶部。
  • 添加了对 C++23 功能 deducing this 的编译器支持(可在 /std:c++latest 标志下使用)。
  • 添加了内联参数名称和类型提示支持(通过按 Alt+F1 或双击 Ctrl 进行切换)。 可以在“工具”>“选项”>“文本编辑器”>“C/C++”>“IntelliSense”下自定义此行为。 内联参数名称和类型提示
  • 在 CMake 项目中添加了对 C++20 模块的实验性支持。 这目前仅适用于 Visual Studio (MSBuild) 生成器。
  • 添加了对 C++23 功能 deducing thisif consteval 的 IntelliSense 支持。
  • 在 17.1 中,我们为嵌入式开发人员引入了外围寄存器和 RTOS 视图。 我们会在 17.2 中提高可用性,从而继续改进这些视图的功能:
    • RTOS 工具窗口现在默认处于隐藏状态,这可防止在未使用 RTOS 时显示包含不相关错误消息的工具窗口。
    • 当用户在工具窗口中双击 RTOS 对象时,它会为对象添加监视。
    • 当用户在 RTOS 工具窗口中选择堆栈指针起始/结束值时,它会在内存窗口中打开。
    • 为调用堆栈窗口添加了用于设备目标的线程感知。
  • 添加了其余 C++20 缺陷报告(也称为“后移植”)的实现。 所有 C++20 功能现已在 /std:c++20 开关下提供。 有关实现的向后移植的详细信息,请参阅 microsoft/STL GitHub 存储库上的 C++20 缺陷报告项目此博客文章
  • 添加了各种 C++23 库功能,位于 /std:c++latest 标志下。 有关新功能的详细信息,请参阅 STL 存储库更改日志
  • 根据包含图的深度,将初始 C++ 索引的性能提高了 20%。

Git 工具

  • 通过允许暂存行装饰以不同的差异模式(并排、内联、左视图、右视图)工作,增强了行暂存体验。
  • 速览工具栏中的暂存和撤消命令现在对目标块进行操作。
  • 添加了启用 Git 提交图以获得更好的历史记录和 Git 操作性能的功能。
  • 通过添加对直接从编辑器和差异视图暂存各个代码行的支持,改进了交互式暂存
  • 通过对于存在未提交更改的情况添加了更多选项和上下文,增强了分支签出体验(即分支切换)。
  • 通过提供在切换到分支时保留或放弃提交的选项,增强了拆离的 HEAD 体验。
  • 添加了在创建新存储库时包含许可证模板的选项。
  • 行暂存支持,即交互式暂存,能够直接从编辑器和差异视图暂存特定行和/或代码块。
  • Azure DevOps 连接检测增强功能,使相关工作项更容易提交
  • Visual Studio 现在占用 Windows 64 位 Git。

测试工具

  • 现在可以使用更快的代码覆盖率窗口和更灵活的列来组织和保存视图。 可以在“工具”>“选项”>“环境”>“预览功能”中启用代码覆盖率体验改进。
  • 远程测试现在支持针对远程 arm64 Windows 环境运行测试。
  • 在预览功能标志下提供了对 Live Unit Testing 完整功能的显著改进,包括:
    • 比以前支持更多的现成解决方案
    • 更好地处理大型解决方案
    • 处理大型测试集时具有更好的默认行为
    • 正在进行的测试运行能够更好地取消
    • 新建 Live Unit Testing 向导和 Lutignore 文件具有更多配置选项
    • 在“工具”>“选项”>“环境”>“预览功能”中启用此新的 Live Unit Testing 生成体验,并阅读我们的博客文章了解详细信息。
  • 我们还提供更高级的测试进度栏的预览版,其中包含有关测试资源管理器在测试执行过程中的位置以及实时更新的更多详细信息。

.NET 效率

  • 如果引用程序集具有嵌入的源代码或源链接,我们现在将嵌入的源代码和源链接显示为“转到实现”的一部分。 这使你可以导航到实现目标符号的原始源文件。
  • 在 .NET 7 中,我们添加了一个名为 StringSyntaxAttribute 的新属性,通过该属性可以告诉我们字符串表示的数据类型,例如 JSON、Regex 或 DateTime。 我们添加了对此属性的支持,因此你可对 JSON 的新 StringSyntaxAttribute 突出显示语法。
  • 我们添加了针对新 JSON StringSyntaxAttribute 的诊断消息,用于在对象文字中存在错误放置的字符串字面量时指示需要冒号。
  • 我们现在有一个可为 Visual Basic 和 C# 包装初始值设定项集合的重构。
  • 我们现在支持新 C# 11 语言功能原始字符串字面量的嵌入式语言。 若要使用原始字符串文本,请将项目文件中的语言版本设置为预览版:<LangVersion>preview</LangVersion>
  • 现在后台 Code Analysis 在“工具”>“选项”中提供了更多配置选项,使你可以将诊断范围设置为 None 以便关闭后台 Code Analysis。
  • 代码清理现在支持所有代码样式选项。
  • “快速信息”现在将显示匿名委托的签名。
  • 编译器进行了新的更改,不允许结构内的无参数构造函数。 我们添加了一个新的代码修补程序,它会自动修复此问题。
  • 在 .NET 7.0 中,我们添加了一个名为 StringSyntaxAttribute 的新属性,通过该属性可以告诉我们字符串表示的数据类型,例如 JSON、Regex 或 DateTime。 我们添加了对此属性的支持,因此你将可以在 Visual Studio 中根据字符串表示的数据类型来突出显示语法。
  • 双击内联参数或类型提示现在将插入参数或类型名称。
  • 我们添加了一个新的重构,该重构删除了不必要的 Lambda 表达式并直接调用方法组。 将光标置于不必要的 Lambda 上。 按“Ctrl+.” 触发“快速操作和重构”菜单。 选择“删除不必要的 Lambda 表达式”。
  • 在 C# 11 中,我们添加了一个新的语言功能,称为原始字符串文本。 我们现在有一个重构,用于将普通或逐字字符串文本转换为原始字符串文本。 若要使用原始字符串文本,请将项目文件中的语言版本设置为预览版:<LangVersion>preview</LangVersion>。 将光标置于普通字符串或逐字字符串上。 按“Ctrl+.” 触发“快速操作和重构”菜单。 选择“转换为原始字符串”。 rasstringliterals

Razor (ASP.NET Core) 编辑器

  • 新 Razor 编辑器现在显示文本文档颜色的内联颜色。
  • 新 Razor 编辑器现在支持折叠区域的功能。
  • 新的 Razor 编辑器现在支持“换行 div”快捷键 Shift+Alt+W。

IntelliCode

  • 对于 17.1,IntelliCode 已开始在 IntelliSense 列表中基于用户意图为 C# 建议快速操作。 对于 17.2,它们现在显示为自动建议的代码,在键入时显示在编辑器中。
  • 对于 17.2,当建议的编辑仅涉及添加代码时,IntelliCode 对重复编辑的建议也显示为自动建议的代码。 这同时适用于跨单行和多行的编辑。

容器工具

  • 现在可以将 Docker Compose 容器业务流程支持添加到 Azure Functions 项目并在本地进行调试。
  • 我们添加了 .NET 7 支持。

使用 WSL 进行 .NET 调试

  • 改进了配置问题的故障排除,包括 WSL 的自动安装。

Service Fabric

  • 我们添加了 .NET 7 支持。

SQL Server Data Tools

  • 在面向 Azure Synapse Analytics 的 SQL 项目中,添加了对列级加密的支持。

Web 工具

  • 新 Azure 函数项目的创建现在已完全集成到常规“新建项目”对话框中,使你可以选取和配置 Azure 函数触发器,而无需其他对话框。 还可以选择在项目创建过程中创建 dockerfile。 需要通过连接的服务进行进一步配置时,体验会使你导航到其中,并引导你完成其余步骤。
  • 现在可以通过连接的服务体验将应用程序连接到 PostgreSQL(Postgres - 官方映像 | Docker Hub、MongoDB(Mongo - 官方映像 | Docker Hub)和 SQLite (Data Source=Sqllite.db)
  • 默认情况下,通过将值为“annotions”的属性“Nullable”添加到相应 .csproj 文件中,隐藏来自基架编码属性及其不可为 null 的属性的警告。
  • 现在,“连接的服务”中的“添加依赖项”对话框具有了搜索体验。

常规

  • 通过检测用户何时在代理后面,并在 Visual Studio 需要访问联机资源时主动提示输入凭据,改进了代理支持

Microsoft Teams 开发工具

  • Microsoft Teams 应用项目模板已得到改进,现在可创建与 teamsfx CLI 一致的配置文件(包括 .fx 文件夹)。
    • 对于使用以前版本的 Teams 工具包创建的任何现有 Teams 应用,建议使用更新的模板创建新项目。
  • 我们已从 Microsoft Teams 应用项目模板中移除了 Teams 资源的帐户选择和自动注册。
    • 现在可以选择何时使用 M365 标识登录,并使用“项目”>“Teams 工具包”>“配置 Microsoft Teams 应用”菜单选项注册应用资源。
    • 可以通过随时再次选择此菜单项,将 manifest.*.template.json 文件的更新与 Teams 开发人员门户同步。
  • 现在可以为 Microsoft Teams 创建和调试机器人。
    • 使用 Microsoft Teams 应用项目模板创建新项目,然后选择机器人功能。
    • 使用“项目”>“Teams 工具包”>“配置 Microsoft Teams 应用”菜单注册应用和机器人。
  • 现在可以在 Azure 订阅中为选项卡和机器人创建资源。
    • 使用云菜单中的“项目”>“Teams 工具包”>“预配”在订阅中创建资源。
    • 使用“项目”>“Teams 工具包”>“部署到云”菜单将代码发布到这些资源。
  • 可以使用“预览 Teams 应用”菜单在浏览器中远程打开从“预配”菜单创建的托管资源。

调试和诊断调试和诊断

  • 我们现在支持一个新的数据可视化工具,用于评估 IEnumerable<T> 接口实现。
  • IEnumerable 可视化工具可帮助在表格视图中浏览较大的集合对象。
  • 我们添加了对依赖跟踪点的支持。
  • 现在,可以设置任何依赖于跟踪点的断点,反之亦然。
  • 如果断点依赖于跟踪点,则仅在命中跟踪点后命中该断点。 (即,在输出窗口中打印跟踪/日志消息之后)

调试和诊断

  • IEnumerable 可视化工具可帮助在表格/数据网格视图中以更简化的方式浏览较大的集合对象。它支持 IEnumerable<T> 集合,其中 T 可以是简单类型或复杂类型(如字典、已封装)。

iEnumerablevisualizer

  • 每当有 IEnumerable 代码实现时,都会在“局部变量/监视”窗口的“值”列中看到一个放大镜图标。将鼠标悬停在变量上方时,也会看到该图标。 单击该图标,便可以访问 IEnumerable 可视化工具。

  • 可以使用“隐藏列”隐藏重复数据或展开列以查看复杂数据中更重要的项。 最后,可以隐藏子级以获取更简洁的数据视图。

HideChildrens

17.2 版中解决的问题

  • 修复了“Azure 服务身份验证”下的帐户选取器中断并导致 VS 重新启动,以及使用英语以外的语言的用户无法选取其他帐户/为 Azure 服务身份验证添加新帐户的问题。
  • 此版本的 Visual Studio 包括 Win App SDK 1.0.3,有关更多详细信息,请参阅 Windows 应用 SDK 发布通道 - Windows 应用 | Microsoft Docs
  • 修复了包含 WiX 项目的解决方案在打开时崩溃的问题。
  • 修复了在 Daytona 控件上未正确显示工具提示的问题。
  • 更新了 Daytona 中的 webview2 基线。
  • 修复了“同步分支”在“本地分支和远程分支已分离”和“pull.rebase 已取消设置”的场景中失败的问题。
  • 修复了以下问题:如果同时安装了工作负载“使用 .NET 的移动开发”,则面向 Android 平台的用户生成本机 C++ 应用会遇到生成错误。
  • 修复了在工具箱尚未初始化时,Windows 窗体 .NET 项目加载或生成后的 UI 延迟问题。
  • 修复了某些输入缺失按位枚举警告的问题。
  • 在 CPU 工具中选择“加载所有符号”不再会导致分析中显示空行。
  • 在 Vulkan SDK C++ 标头中使用的模式上,IntelliSense 不再出现极其缓慢(需要近一分钟的时间来响应)的情况。
  • 解决了会弹出“CMake 集成”对话框并导致 CMake 在将更改保存到 CMakeLists.txt 后停止工作的问题。
  • 改进了通过 CMake 项目进行生成配置切换的性能
  • 改进了编辑大型 Razor 源文件时的性能。
  • 修复了 CPU 使用情况工具视图中文本被蓝色使用情况条剪切的问题
  • 删除了一条不正确的消息,此消息称 CPU 使用情况工具中没有顶级见解(即使有顶级见解也是如此)。
  • 修复了一个 bug:CPU 使用情况工具中“未找到见解”消息未正确本地化
  • 修复了由于系统注册表中的 GPO 策略设置导致某些客户无法安装 Visual Studio 的问题。 对于此安装,Visual Studio 现在的运行方式与 WebView2 的运行方式相同。
  • 修复了“无法在脱机计算机上安装 Visual Studio 的任何扩展 (vsix)”的问题。
  • 修复了 MonoToolchain 和 emsdk 工作负载安装清单。

来自开发者社区


已知问题

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

反馈和建议

我们期待你的宝贵意见和建议! 可使用安装程序或 Visual Studio IDE 右上角的“发送反馈”图标,或者通过“帮助”>“发送反馈”来报告问题或提出功能建议 “反馈”图标。 可在 Visual Studio 开发者社区跟踪你的问题,也可在这里添加评论和查找解决方案。 此外,还可通过实时聊天支持获得免费安装帮助。


Blogs

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


返回页首