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 产品。
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 发行版
- 2024 年 1 月 9 日 — Visual Studio 2022 版本 17.2.23
- 2023 年 11 月 14 日 - Visual Studio 2022 版本 17.2.22
- 2023 年 10 月 24 日 - Visual Studio 2022 版本 17.2.21
- 2023 年 10 月 10 日 - Visual Studio 2022 版本 17.2.20
- 2023 年 9 月 12 日–Visual Studio 2022 版本 17.2.19
- 2023 年 8 月 8 日–Visual Studio 2022 版本 17.2.18
- 2023 年 7 月 11 日 - Visual Studio 2022 版本 17.2.17
- 2023 年 6 月 13 日 — Visual Studio 2022 版本 17.2.16
- 2023 年 4 月 11 日 - Visual Studio 2022 版本 17.2.15
- 2023 年 3 月 14 日 - Visual Studio 2022 版本 17.2.14
- 2023 年 2 月 14 日 - Visual Studio 2022 版本 17.2.13
- 2023 年 1 月 10 日 - Visual Studio 2022 版本 17.2.12
- 2022 年 12 月 13 日 - Visual Studio 2022 版本 17.2.11
- 2022 年 11 月 8 日 - Visual Studio 2022 版本 17.2.10
- 2022 年 10 月 11 日 Visual Studio 2022 版本 17.2.9
- 2022 年 9 月 13 日 - Visual Studio 2022 版本 17.2.8
- 2022 年 8 月 9 日 - Visual Studio 2022 版本 17.2.7
- 2022 年 7 月 12 日 - Visual Studio 2022 版本 17.2.6
- 2022 年 6 月 22 日 - Visual Studio 2022 版本 17.2.5
- 2022 年 6 月 14 日 - Visual Studio 2022 版本 17.2.4
- 2022 年 5 月 31 日 - Visual Studio 2022 版本 17.2.3
- 2022 年 5 月 24 日 - Visual Studio 2022 版本 17.2.2
- 2022 年 5 月 17 日 - Visual Studio 2022 版本 17.2.1
Visual Studio 2022 博客
可从 Visual Studio 2022 博客获取来自 Visual Studio 工程团队的官方产品见解。 有关 Visual Studio 2022 版的详细信息,可参阅以下文章:
- Visual Studio 2022 版本 17.2 现已正式发布!
- Visual Studio 2022 版本 17.1 现已正式发布!
- Visual Studio 2022 版本 17.0 现已正式发布!
Visual Studio 2022 已存档的发布说明
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 项目模板中的漏洞相关信息。
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 中存在拒绝服务漏洞:格式不正确的修饰名称可能会导致无限循环。
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 文件时可能导致远程执行代码的漏洞。
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 请求,从而导致拒绝服务。
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,在其中读取恶意文件可能会导致权限提升。
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 加载项部署进行签名的漏洞。
Visual Studio 2022 版本 17.2.17
发布时间:2023 年 7 月 11 日
此次发布的 17.2.17 中已解决的问题
已解决的安全公告
- CVE-2023-33127 .NET 远程代码执行漏洞 .NET 应用程序中存在一个漏洞,它导致诊断服务器可能会被利用来实现跨会话/跨用户特权提升 (EoP) 和代码执行。
- CVE-2023-33170 .NET 安全功能绕过漏洞 ASP.NET Core 应用程序中存在一个漏洞,它导致帐户锁定最大失败尝试数可能不会立即更新,这使得攻击者能够尝试更多密码。
Visual Studio 2022 版本 17.2.16
发布日期:2023 年 6 月 13 日
此次发布的 17.2.16 中已解决的问题
已解决的安全公告
- CVE-2023-24897 Visual Studio 远程代码执行漏洞 此安全更新解决了 MSDIA SDK 中的漏洞,其中损坏的 PDB 可能会导致堆溢出,从而导致故障或远程执行代码。
- CVE-2023-25652 Visual Studio 远程代码执行漏洞 此安全更新解决了对 git apply –reject 的特制输入可能导致在任意位置写入受控内容的漏洞。
- CVE-2023-25815 Visual Studio 欺骗漏洞 此安全更新解决了 Github 本地化消息引用硬编码路径而不是遵循运行时前缀从而导致内存写入超出范围和故障的漏洞。
- CVE-2023-29007 Visual Studio 远程代码执行漏洞 此安全更新解决了包含逻辑错误的配置文件导致任意配置注入的漏洞。
- CVE-2023-29011 Visual Studio 远程代码执行漏洞 此安全更新解决了负责实现 SOCKS5 代理的 Git for Windows 可执行文件容易在多用户计算机上选取不受信任的配置的漏洞。
- CVE-2023-29012 Visual Studio 远程代码执行漏洞 此安全更新解决了 Git for Windows Git CMD 程序在启动时错误地搜索程序从而导致无提示任意代码执行的漏洞。
- CVE-2023-27909 Visual Studio 远程代码执行漏洞 此安全更新解决了 Autodesk® FBX® SDK 中的一个写入超出范围的漏洞,其中版本 2020 或更早版本可能导致通过恶意制作的 FBX 文件执行代码或信息泄露。
- CVE-2023-27910 Visual Studio 信息泄露漏洞 此安全更新解决了一个漏洞,即用户可能被诱骗打开恶意 FBX 文件,该文件可能会利用 Autodesk® FBX® SDK 2020 或更早版本中的堆栈缓冲区溢出漏洞,从而导致远程代码执行。
- CVE-2023-27911 Visual Studio 远程代码执行漏洞 此安全更新解决了一个漏洞,即用户可能被诱骗打开恶意 FBX 文件,该文件可能会利用 Autodesk® FBX® SDK 2020 或更早版本中的堆栈缓冲区溢出漏洞,从而导致远程代码执行。
- CVE-2023-33139 Visual Studio 信息泄露漏洞 此安全更新解决了 Visual Studio 中 obj 文件分析程序导致信息泄露的 OOB 漏洞。
- CVE-2023-29331 .NET 和 Visual Studio 拒绝服务漏洞 此安全更新解决了客户端证书的 AIA 提取过程可能导致拒绝服务的漏洞。
- CVE-2023-24895 .NET 和 Visual Studio 远程代码执行漏洞 此安全更新解决了 WPF XAML 分析程序中非沙盒分析程序可能导致远程代码执行的漏洞。
- CVE-2023-24936 .NET 和 Visual Studio 特权提升漏洞 此安全更新解决了绕过限制中从 XML 反序列化 DataSet 或 DataTable 时导致特权提升的漏洞。
- CVE-2023-32032 .NET 特权提升漏洞 使用提取 Tar 文件的内容时 .NET 中存在漏洞,可能会导致特权提升。
- CVE-2023-33126 .NET 远程代码执行漏洞 在故障和堆栈跟踪方案期间 .NET 中存在漏洞,可能会导致加载任意箱
- CVE-2023-33128 .NET 远程代码执行漏洞 P/Invoke 的 .NET 源生成器中存在漏洞,可能会导致生成的代码释放未初始化的内存并崩溃。
- CVE-2023-33135 .NET 远程代码执行漏洞 工具还原期间 .NET SDK 中存在漏洞,可能会导致特权提升。
Visual Studio 2022 版本 17.2.15
发布日期:2023 年 4 月 11 日
此次发布的 17.2.15 中已解决的问题
- 修复当无效输入发送到在内核模式驱动程序的 PGO 训练期间使用的驱动程序时发生故障的问题。
- 修复了 IIS Express 更新遥测数据时可能导致故障的问题。
开发人员社区
已解决的安全公告
- CVE-2023-28260 .NET 远程代码执行漏洞:在 Windows 上运行的 .NET 中存在一个漏洞,即运行时 DLL 可以从意外位置加载,从而导致远程代码执行。
- CVE-2023-28296 Visual Studio 远程代码执行漏洞
- CVE-2023-28299 Visual Studio 欺骗漏洞
- CVE-2023-28262 Visual Studio 特权提升漏洞
- CVE-2023-28263 Visual Studio 信息泄露漏洞
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
已解决的安全公告
- CVE-2023-22490 Mingit 远程代码执行漏洞
- CVE-2023-22743 Git for Windows Installer 特权提升漏洞
- CVE-2023-23618 Git for Windows 远程代码执行漏洞
- CVE-2023-23946 Mingit 远程代码执行漏洞
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
已解决的安全公告
- CVE-2023-21566 Visual Studio 安装程序特权提升漏洞
- CVE-2023-21567 Visual Studio 拒绝服务漏洞
- CVE-2023-21808 .NET 和 Visual Studio 远程代码执行漏洞
- CVE-2023-21815 Visual Studio 远程代码执行漏洞
- CVE-2023-23381 Visual Studio Code 远程代码执行漏洞
- CVE-2022-23521 gitattributes 分析整数溢出
- CVE-2022-41903
git archive
、git log --format
中的堆溢出导致 RCE - CVE-2022-41953 Git GUI 克隆远程代码执行漏洞
Visual Studio 2022 版本 17.2.12
发布日期:2023 年 1 月 10 日
已解决的安全公告
- CVE-2023-21538 .NET 拒绝服务漏洞 .NET 6.0 中存在拒绝服务漏洞,其中恶意客户端可能会导致堆栈溢出,这可能会在攻击者向公开的终结点发送无效请求时导致拒绝服务攻击。
Visual Studio 2022 版本 17.2.11
发布日期:2022 年 12 月 13 日
已解决的安全公告
- CVE-2022-41089 远程代码执行 .NET Core 3.1、.NET 6.0 和 .NET 7.0 中存在远程代码执行漏洞,恶意执行组件可能会导致用户因分析恶意制作的 xps 文件而运行任意代码。
Visual Studio 2022 版本 17.2.10
发布日期:2022 年 11 月 8 日
已解决的安全公告
- CVE-2022-41119 远程代码执行 Visual Studio 中的堆溢出漏洞
- CVE-2022-39253 信息泄露 默认情况下,本地克隆优化取消引用符号链接
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)存在漏洞,恶意执行组件可能导致用户执行任意代码。
Visual Studio 2022 版本 17.2.8
发布日期:2022 年 9 月 13 日
此次发布的 17.2.8 中已解决的问题
来自开发者社区
- 升级到 17.2.0 (C4311) 后出现编译器警告
- VS2022 的最新更新可防止在发布模式下生成 Hololens 应用
- VsixSignTool 在管道中失败,出现错误代码 80070020。 它意味着什么?
已解决的安全公告
CVE-2022-38013 .NET 拒绝服务漏洞 ASP.NET Core 3.1 和 .NET 6.0 中存在拒绝服务漏洞,其中恶意客户端可能会导致堆栈溢出,这可能会在攻击者发送在模型绑定期间分析的自定义有效负载时导致拒绝服务攻击。
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。
- 修复了默认终端配置文件将启动并快速关闭的问题。 如果问题仍然存在,将配置文件还原到默认集应可修复此问题。
来自开发者社区
- 生成 UnrealEngine4.27.2 时出现内部编译器错误
- 与 EXP+ 生成 ARM64EC 二进制相关的奇怪链接器错误
- 链接:错误 LNK1000:IMAGE::ResolveEntryPoint 期间出现内部错误
- 新版本出现编译错误
- 源代码管理器中下载/未下载的项之间难以区分
已解决的安全公告
- CVE-2022-34716 .NET 欺骗漏洞 XML 签名验证期间的外部实体注入
- CVE-2022-31012 远程代码执行 适用于 Windows 的 Git 的安装程序可能会被欺骗执行不受信任的二进制文件
- CVE-2022-29187 特权提升 恶意用户可以在超级用户拥有的文件夹中创建 .git 目录
- CVE-2022-35777 远程代码执行 Visual Studio 2022 预览版 Fbx 文件分析程序堆溢出漏洞
- CVE-2022-35825 远程代码执行 Visual Studio 2022 预览版 Fbx 文件分析程序 OOBW 漏洞
- CVE-2022-35826 远程代码执行 Visual Studio 2022 预览版 Fbx 文件分析程序堆溢出漏洞
- CVE-2022-35827 远程代码执行 Visual Studio 2022 预览版 Fbx 文件分析程序堆 OOBW 漏洞
Visual Studio 2022 版本 17.2.6
发布时间:2022 年 7 月 12 日
此次发布的 17.2.6 中已解决的问题
- 删除了某些授权遥测,此类授权遥测在某些情况下导致 Visual Studio 在启动时显示毫无意义的 OS 登录对话框。
- 更新了 LibraryManager 以适应 cdnjs API 的更改
- 修复了在同一编辑会话中重新打开 F# 项目时,智能感知停止工作的问题。
来自开发者社区
Visual Studio 2022 版本 17.2.5
发布日期:2022 年 6 月 22 日
此次发布的 17.2.5 中已解决的问题
- 修复了 VC++ 运行时中的 bug:MFC OLE 链接/嵌入容器出现链接中断
- 修复了 VS2022 和 VS2015 SxS 安装(或老版本)导致 VS 无法扫描扩展的问题。
- 改进了预配 Azure 容器应用时容器名称的验证。
来自开发者社区
- 托管 C++ 因模板推导强制转换其他修补程序而在宏扩展上发生中断
- 错误 LNK2016:绝对符号“@comp.id”在节 0x9 中用作了 REL32 重定位的目标
- “CL.exe”已退出,代码为 1073740791
- 链接 msvcprtd.lib 后__imp___std_init_once_complete 未解析外部符号
- 错误 LNK1103:调试信息损坏;重新编译模块
- MFC 应用在第二次运行时崩溃。
- 在 VS2022 中使用 MVVMLightLibs 时设计器失败
- 安装 Visual Studio 安装程序 Project 扩展后,Visual Studio 2022 Professional 不再可用
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 的其他场景中的潜在挂起
来自开发者社区
- 将 VS 2022 工具更新到 17.2 后,单元测试代码覆盖率为 0
- 修复了 HostPath 包失败并显示退出代码 259 的问题,将禁止显示退出代码并会将其报告为警告,从而使得 Visual Studio 安装程序完成
已解决的安全公告
- CVE-2022-30184 .NET 信息泄露漏洞 NuGet 内的 .NET 6.0 和 .NET Core 3.1 中存在漏洞,其中可能发生凭据泄漏。
Visual Studio 2022 版本 17.2.3
发布日期:2022 年 5 月 31 日
此次发布的 17.2.3 中已解决的问题
- 将适用于 Windows 11 版本 22H2 的 Windows SDK (10.0.22621) 添加为 Visual Studio 安装程序中的可选组件。
- 解决了单击“创建拉取请求”时不会打开浏览器转到托管提供程序的“创建拉取请求”页的问题。
- 当 Git 检测到不安全存储库并允许将该存储库标记为安全时,会添加通知。
来自开发者社区
- 任务失败 - 激活语言客户端 HtmlLanguageClient。 VS 17.2.0。
- “在文件中查找”已停止工作 - 在请求完成之前,与远程方的 JSON-RPC 连接丢失
- VS Tools for Unity:保存时所有打开的文件都会关闭
- 尝试源下载以单步执行外部库时,Visual Studio 2022 会冻结
- VS 2022 附带过时的 Azurite 版本
Visual Studio 2022 版本 17.2.2
发布日期:2022 年 5 月 24 日
此次发布的 17.2.2 中已解决的问题
- 使用面向 Windows 应用 SDK 1.1.0 版本的 WinUI 项目时,修复了包和发布向导中的崩溃。
来自开发者社区
- iOS 模拟器黑屏
- 必须在 UI 线程上调用 GetSccFiles
- 17.2.0 不再处理 launchSettings.json 中使用的 MsBuild 变量值
- Visual Studio 2022 17.2.0 不适用于 DirectX-Graphics-Samples 存储库
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 this 和 if 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+.” 触发“快速操作和重构”菜单。 选择“转换为原始字符串”。
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 可以是简单类型或复杂类型(如字典、已封装)。
每当有 IEnumerable 代码实现时,都会在“局部变量/监视”窗口的“值”列中看到一个放大镜图标。将鼠标悬停在变量上方时,也会看到该图标。 单击该图标,便可以访问 IEnumerable 可视化工具。
可以使用“隐藏列”隐藏重复数据或展开列以查看复杂数据中更重要的项。 最后,可以隐藏子级以获取更简洁的数据视图。
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 工作负载安装清单。
来自开发者社区
- 使用 HttpClient 时 Xamarin.Android 中忽略了 CancellationToken 的延迟
- 如果我打开一个解决方案,然后生成它,然后展开测试资源管理器,我希望在列表中看到测试
- 测试资源管理器的测试停滞在“正在运行”状态
- 错误:值不能为 null。 参数名称:path1
- FO Bug 修复 aaaaaaaaaaaaaaaaa
- Intellicode 的代码提示存在语法错误
- 测试资源管理器中深度介于 21 和 23 之间的堆栈跟踪
- ResourceDictionary 中的 x:Class Modifier 在部署为 nuget 包时会中断 VS 中的自动完成支持
- WPF 热重载如果适用于一个解决方案,则无法用于另一个解决方案
- Xamarin HotReload 在 OnAfterSave 中捕获到异常
- “转到定义”不起作用(但“速览定义”正常工作)
- 由于文件路径过长,尝试打开测试日志失败
- 使用 /arch:AVX2 时的 clang v13 ICE
- 在添加新项时 VS 2022 挂起
- 当测试资源管理器视图处于“自动隐藏”模式时,“在测试资源管理器中显示”不会将测试用例滚动到视图中
HasSharedItems
被 VS 显式设置为空,导致AssignLinkMetadata
被跳过且共享项目生成失败- 德语翻译:热重载消息框中的按钮出现重叠
- 发布:无法创建发布配置文件 Properties\PublishProfiles\AppService.pubxml
- 工具在特定二进制文件上使用时崩溃
- “git”不能被识别为内部或外部命令、可运行程序或批处理文件。
- 解决方案加载自 17.2 预览版 2 以来出现错误并停止
- Xamarin 项目的 XAML 文件的属性窗口显示为空
- 错误 LNK2013:链接 ARM64EC 二进制文件时 BRANCH26 修复溢出
- 编译器进程在 100% CPU 负载下陷入无限循环
- ICE 用于在编译器版本 17.2p2(Office;17.2)中使用 pch 进行变体清除分析
- Xamarin Visual Studio 2022:加载证书时出错
- 面向 ARM 的 VS2022 17.2 预览版 2 中的内部编译器错误
- 当 CopyLocal 为 false 时,VS2022 XAML 设计器不能正常工作
- Vulkan.hpp 使 Visual Studio 2022 中的 Intellisense 运行速度变慢
- 子目录中的 CMakeLists.txt bug(无法在根文件夹中选择 CMakeLists.txt)
- 成功生成后,ENC 错误仍然存在
- Azure SQL 托管实例的 SSDT 架构比较失败
- NET MAUI iOS 生成失败,因为 Mac 代理未安装最新 MonoToolchain 和 emsdk 工作负载清单
已知问题
通过以下链接查看 Visual Studio 2022 中所有待解决问题和可用暂避方法。
反馈和建议
我们期待你的宝贵意见和建议! 可使用安装程序或 Visual Studio IDE 右上角的“发送反馈”图标,或者通过帮助 > 发送反馈来报告问题或提出功能建议 。 可在 Visual Studio 开发者社区跟踪你的问题,也可在这里添加评论和查找解决方案。 此外,还可通过实时聊天支持获得免费安装帮助。
Blogs
通过参考开发人员工具博客网站中的见解和建议,随时掌握所有新版本的最新最全资讯,并发表有关大量功能的深入分析帖子。