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

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

单击按钮即可下载最新版 Visual Studio 2022。 有关如何安装和更新 Visual Studio 2022 的说明,请参阅 将 Visual Studio 2022 更新到最新版本 。 另请参阅 如何脱机安装 的说明。

访问 Visual Studio 网站,下载其他 Visual Studio 2022 产品。

Visual Studio 2022 版本 17.10 版本

  • 2024 年 8 月 13 日 — Visual Studio 2022 版本 17.10.6 NewReleaseIcon
  • 2024 年 7 月 25 日 - Visual Studio 2022 版本 17.10.5
  • 2024 年 7 月 9 日 - Visual Studio 2022 版本 17.10.4
  • 2024 年 6 月 18 日 - Visual Studio 2022 版本 17.10.3
  • 2024 年 6 月 11 日 - Visual Studio 2022 版本 17.10.2
  • 2024 年 5 月 29 日 — Visual Studio 2022 版本 17.10.1
  • 2024 年 5 月 21 日 — Visual Studio 2022 版本 17.10.0
  • Visual Studio 2022 博客

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

  • Visual Studio 2022 版本 17.10
  • 17.10.6 Visual Studio 2022 版本 17.10.6

    发布日期:2024 年 8 月 13 日

    此版本中新增功能摘要

  • 修复了在 arch:SSE 或 /arch:SSE2 编译期间编译器生成 AVX 向量比较指令的错误。
  • 修复了编译 nanobind v.1.9.2 时针对 17.10 报告的编译器崩溃。
  • 修复了 C++ 编译器中与 C++17 或更高版本中保证复制省略相关的回归问题。
  • 修复了模板-模板参数包编译错误问题。
  • 修复了 MSVC 编译器无法在 qtwebengine 中编译某些代码,而是发出“C2100:不能取消引用类型为'v8::internal::compiler::turboshaft::WordRepresentation'的操作数的问题”。
  • 开发人员社区

  • vs2022 17.10.0p7:某些循环构造上"ARM64|Release"的 MSVC 代码生成错误
  • 启用了 SPGO 的 x86 构建内联析构函数中的错误
  • 即使“已启用增强指令集”设置为“未设置”,也会生成 AVX 指令
  • 使用 nanobind v1.9.2 时发生内部编译器错误
  • VS 17.10:虚假编译错误 C2102("&"需要 l-value)
  • QtWebEingine 编译带来了内部编译器错误 C2100
  • 升级到版本 17.10.3 后,VB.Net 项目中的某些区域缺少“显示结构准则”。
  • 已解决的安全公告

  • CVE-2024-38167 .NET 运行时 TlsStream 中存在可能导致信息泄露的漏洞。
  • CVE-2024-38168 .NET 中存在一个漏洞,攻击者通过未经身份验证的请求可能触发 ASP.NET HTTP.sys Web 服务器的拒绝服务。 这是一个仅限 Windows OS 的漏洞。
  • 17.10.5 Visual Studio 2022 版本 17.10.5

    发布时间:2024 年 7 月 25 日

    此版本中新增功能摘要

  • 在运行 Visual Studio 时使用 GitHub 帐户登录到 Visual Studio 现在是受支持的方案。 当与 Visual Studio 进程关联的用户名与登录到 Windows OS 的用户名不完全匹配时,则会以其他用户身份运行 Visual Studio。 对于在这些条件下运行 VS 的用户,系统将保留其 Windows 会话的凭据,每当 Windows 重启时,用户都需要将其 GitHub 帐户重新添加到 Visual Studio。
  • 通过将 ManagePackageVersionsCentrally 设置为 true 来还原 NuGet Central 包管理以前要求用户选择加入功能的行为。
  • 修复了 Copilot 在 C++ 快速信息中生成的文档导致挂起的问题。
  • 将“C# 交互窗口”设为标准工具栏的父项时,“其他窗口”菜单控制器上会显示该命令。
  • 加载具有 SccProjectName 属性集的解决方案或项目时,将不再显示以下对话框:“找不到与此解决方案关联的源代码管理提供程序。”
  • Azure 附加到应用服务支持附加到具有内部负载均衡器的 Azure 服务环境,例如以 .appserviceenvironment.net 结尾的站点。
  • 开发人员社区

  • 无法处理 NuGet 包,例如在 17.9.7 中 (NU1008)
  • VS2022 17.10.1 在 Azure DevOps 管道中引发错误
  • 使用 VS 17.9.1 构建引用本机函数的 C++/CLI 程序时,出现“LINK : error LNK2034: metadata inconsistent with COFF symbol table”
  • 升级到 17.10.0 后,当代码相对较长时,输入速度会变慢
  • 网络共享上的项目出现错误波浪线和导航中断
  • 重新打开 VS 后缺少 C# 交互窗口工具栏菜单
  • “文件”>“最近的项目”不再提供移除不存在的项的选项
  • 17.10.0 预览版 2.0 - 找不到与此解决方案关联的源代码管理提供程序
  • 17.10.4 Visual Studio 2022 版本 17.10.4

    发布时间:2024 年 7 月 9 日

    此版本中新增功能摘要

  • 将 MinGit 更新为 v2.45.2.1,其中包括 GCM 2.5,它解决了以前的 GCM 版本的问题,即在克隆后向 Git 报告错误,并使其看起来就像克隆失败了一样。
  • 修复了 PDB 读取代码中的 bug,以忽略某些 FASTLINK PDB 中的预期故障。
  • 这修复了编译器崩溃问题,该问题涉及一个引用“constexpr”局部变量(但不捕获该变量)的泛型 lambda,并且该 lambda 随后从包含它的函数中返回。
  • 在增量链接过程中减少 ILK 文件大小。
  • 修复了 DeployAppRecipe.exe 工具崩溃的问题。
  • 修复了调试 dotnet 6/7 alpine 容器时出现的问题。
  • VS 现在包含 MAUI 8.0.61 (SR6.1); https://github.com/dotnet/maui/releases/tag/8.0.61
  • 开发人员社区

  • 错误: 无法打开文件 (null)。 错误代码 = 0x0000000D
  • ARM64EC 上使用 OpenMP 时发生崩溃
  • 内部编译器错误变体 (1510)
  • 启用了 ASan 的情况下构建静态调试 STL 时遇到的启动问题
  • 严重错误 C1001:内部编译器错误
  • 更新到 VS 17.10 后,.ilk 文件的大小显著增加,导致出现错误 LNK1210
  • 升级到 Visual Studio 2022 17.10.0 后,在构建 ARM64|Release 时出现“内部编译器错误”
  • [ 编译器 BUG][错误代码生成] 在使用 /arch:AVX 和 -d2SSAOptimizer- 的 MSVC 17.10.1 中,针对 Xbox One 进行编译时,编译器插入了 AVX2 指令,导致崩溃
  • 在 VS 2022 17.4 预览版 3 上,由于无效模板导致的 ICE
  • 基于 Docker 调试出现了新问题,未修复之前的问题
  • SQL Server 对象资源管理器调试存储过程时正在查找计算机上的存储过程文件。
  • 在键入条件调试时,Copilot 会覆盖键入的内容
  • 在更新到 17.10.1 后,调试程序找不到源文件
  • 已解决的安全公告

  • CVE-2024-38081 Windows OS 上的 Visual Studio 安装程序中存在一个漏洞,非特权用户可以操纵 Visual Studio 安装,从而提升特权。
  • CVE-2024-30105 .NET 中存在一个漏洞,当使用 System.Text.Json 针对不受信任的输入调用 JsonSerializer.DeserializeAsyncEnumerable 方法时,可能会导致拒绝服务。
  • CVE-2024-38095 存在一个漏洞,当 .NET 中的 System.Formats.Asn1 分析 X.509 证书或证书集合时,恶意证书可能会导致所有平台上的 CPU 消耗过多,从而导致拒绝服务。
  • CVE-2024-35264 ASP.NET Core 8 中存在一个漏洞,即 Kestrel HTTP/3 中的数据损坏可能会导致远程代码执行。
  • 17.10.3 Visual Studio 2022 版本 17.10.3

    发布日期:2024 年 6 月 18 日

    此版本中新增功能摘要

  • 从标准工具栏上的 MenuController 执行 C# Interactive 命令后,Visual Studio 将不再崩溃。
  • 在 razor 文件中的标记帮助程序中使用 @ 可能会导致不当的编译错误。 https://github.com/dotnet/razor/issues/10186
  • 开发人员社区

  • 升级到 17.10.2 后,扩展不再有效,缺少 Extensibility.Contracts
  • vs 2022 TypeScript IntelliSense 在 17.10.1 中不工作
  • 用于调试的 Text Visualizer 中的复制功能损坏
  • 在 Visual Studio 17.8.6 中,Tab 键无法可靠地接受用于 Copilot 完成的 Markdown 中的灰色文本建议
  • 工具栏中缺少 C# Interactive 菜单 | 其他 Windows
  • 17.10.2 Visual Studio 2022 版本 17.10.2

    发布日期:2024 年 6 月 11 日

    此版本中新增功能摘要

  • 修复了以下问题:当 TypeScript 中没有文件错误时,Razor 文件中会显示 TypeScript 错误。
  • 升级到 Windows 的 Germanium 版本后,WSL 需要手动升级。 这可能会导致 Visual Studio 在打开 CMake 项目时挂起。
  • VS 现在包含 MAUI 8.0.40 (SR5)
  • 为最近发布的 Windows SDK 版本 10.0.26100 添加可选安装程序组件。
  • 与 Razor 项目结合使用时,使用 .NET SDK 7 导致出现问题。 https://github.com/dotnet/razor/issues/10411 注意 :.NET SDK 7 系列不受支持。 强烈建议之前遇到此问题的客户迁移到受支持的 .NET SDK。
  • 开发人员社区

  • Razor 文件中的 TS1109 (TS) 表达式预期错误
  • 工具中的 cmdnameRunIntellisenseCheck 剩余内容
  • 将 Visual Studio 社区更新到 17.10.0 后,无法进行 nuget 还原。 已添加了具有相同键的项。
  • 无法在 Visual Studio 2022 中调试 Sapphire Rapids CPU 上的 x86 代码
  • 已解决的安全公告

  • CVE-2024-30052 :在调试包含具有合理扩展名的恶意文件的转储文件时出现远程代码执行漏洞
  • CVE-2024-29060 :在受影响的 Visual Studio 安装运行期间出现特权提升漏洞
  • CVE-2024-29187 基于 WiX 的安装程序在以 SYSTEM 身份运行时容易受到二进制劫持
  • 17.10.1 Visual Studio 2022 版本 17.10.1

    发布日期:2024 年 5 月 29 日

    此版本中新增功能摘要

  • 修复了在 razor 文件中的标记帮助程序中使用 @ 可能会导致不当的编译错误的问题。
  • 开发人员社区

  • 在升级后,Visual Studio 由于过时的 GitHub Copilot 扩展而启动循环
  • 找不到 SDK“Microsoft.VCLibs.Desktop,版本=14.0”
  • VS 17.10.0 预览版 3.0 和 MFC 用户 dll + CLR -> 链接器错误
  • 使用工具链 14.39.33523 时,意外的 vblendps 替代了 vinsertps
  • 构建适用于 x64 的最新 clang 时 cl.exe 崩溃
  • VS2022 17.10.0 预览版 4 测试控制器或代理错误:填充无效且无法移除
  • 17.10.0 Visual Studio 2022 版本 17.10.0

    发布日期:2024 年 5 月 21 日

    此版本中新增功能摘要

    Visual Studio 中的 GitHub Copilot

    GitHub Copilot:AI 支持的编码助手已无缝融入 Visual Studio IDE,可增强日常任务,并带来最新的 AI 驱动的编码体验。 Copilot 旨在通过提供以下功能提升效率:

  • 个性化代码建议
  • 制作 git 提交消息
  • 解答与编码相关的查询
  • 我们在 Visual Studio 17.10 中引入了新的统一 Copilot 体验。 它将 Copilot 和 Copilot 聊天的功能合并为一个包,从而无需安装两个单独的扩展,十分方便易用。 享受更深入的集成 AI 体验! 立即 通过登录到 GitHub 或启动免费试用版 来激活 GitHub Copilot 订阅,以获取最新的 AI 体验。

    注意:Copilot 现在位于 Visual Studio 界面的右上角。

    使用生成的拉取请求说明改进代码评审

    与生成的 Git 提交消息功能 类似,你现在可以获得由 GitHub Copilot 创建的拉取请求描述的草稿。 你将获得帮助,以便向同事提供重要的上下文以供他们进行审阅,并仔细检查你是否在拉取请求中加入了正确的更改。

    需要验证是否已安装有效的 GitHub Copilot 订阅和 GitHub Copilot 聊天扩展。 通过单击“创建拉取请求”窗口中的“添加 AI 生成的拉取请求描述”闪光笔图标来试用。 请在 此处 分享有关此功能的反馈。

    我们听取了你的反馈,将缩短所生成的 Git Commit 功能的输出。 在 开发者社区中的票证 上分享有关此更改的反馈。

    使用 GitHub Copilot 了解提交历史记录

    翻阅 Git 历史记录可能会令人望而生畏,但这通常是了解代码库或帮助识别错误起源的最佳方式。 我们在“提交详细信息”窗口中添加了 GitHub Copilot 支持的解释功能,以便更轻松地理解每个提交的内容。

    需要安装有效的 GitHub Copilot 订阅和 GitHub Copilot 聊天扩展。 双击任意提交以在 Git 存储库窗口中打开“提交详细信息”窗格。 然后,单击“说明提交”闪光笔图标,以获取与代码并排显示的更改摘要。 我们计划继续改进此功能,因此请在 此处 分享你的反馈。

    使用 .NET Aspire 构建云原生应用

    .NET Aspire 是有主见的云就绪堆栈,用于生成可观察的、生产就绪的分散式应用程序。 .NET Aspire 通过处理特定云原生问题的 NuGet 包集合提供。 无论是使用 PostgreSQL 和 Redis 等容器化资源构建分布式云原生应用程序,还是使用存储或服务总线等 Azure 组件进行构建,.NET Aspire 都将简化开发体验并让你能够更深入地了解你的分散式应用,其功能如下:

  • 无需配置解决方案即可进行多项目启动和调试
  • 使用一组 有主见的扩展和默认值 提供对 HTTP 复原能力、运行状况检查和 OpenTelemetry 的内置支持
  • 使用新的 .NET Aspire 仪表板 启动体验在浏览器中方便地查看容器化资源 .NET 项目的日志、指标和分布式跟踪
  • Azure Developer CLI (AZD) 之上构建的新部署方法,因此在大多数情况下,你将拥有多节点部署功能,无需编写自己的基础结构代码
  • 调试和诊断

    Copilot 生成的断点条件

    将 AI 生成的建议用于条件断点和跟踪点,以提高调试速度。 Copilot 对代码进行分析,以建议针对断点定制的智能表达式,使调试更加顺畅。

    设置条件断点或跟踪点并将鼠标悬停在设置窗口中的条件区域上时,Copilot 会根据代码快速呈现 AI 生成的表达式想法。 选择最适合需求的条件,轻松放置断点或跟踪点。

    支持新 UpDown 和 ObservableCounter 检测的 .NET 计数器探查器可视化

    Visual Studio 中的 .NET 计数器探查器现在引入了对两种创新指标的支持:UpDown,可以实时跟踪增量和减量更改的值;ObservableCounter,可以自主管理聚合总数,提供可自定义的回调委托以进行精确控制。 在提供的屏幕截图中,“total-hats”展示了一个 UpDown 计数器,而“orders-pending”展示了一个 ObservableCounter。

    此外,我们还实现了筛选器浮出控件功能,使你能够根据标签方便地筛选数据点。 这会根据应用的组合动态调整摘要视图和泳道视图。

    这一增强功能显著提高了灵活性,简化了对项目中动态值的监视。 例如,在 Web 应用程序开发中,UpDown 计数器可以监视页面视图等用户交互,而 Observable 计数器则通过有效管理活动会话总数来优化服务器资源。

    托管内存窗口中的 GC 见解

    托管内存窗口“见解”选项卡现在支持 GC Insights。 此功能通过揭示触发垃圾回收 (GC) 的实例,让你更深入地了解应用程序的性能。 这些实例可能会阻碍进程的效率,因此通常被视作不良实例,原因在于它们涉及手动干预,而不是允许垃圾回收器自主管理内存分配。 此外,GC Insights 还提供了通过时间估计来分析这些事件的功能,使腻能够更好地理解触发 GC 对应用程序执行时间线的影响。

    从表达式创建条件断点和跟踪点

    这项更新使用新的菜单选项(“插入条件断点”和“插入跟踪点”)简化调试。现在可使用自动窗口、局部变量、监视窗口或数据提示中共的属性或字段名称和值轻松创建断点。 这可简化工作流调试,尤其是对于复杂的表达式。

    使用内存工具简化内存使用情况调查

    新的“热路径到根”功能通过查找最有可能的根路径来计算对象的总大小,从而改进内存分析。 它使用快捷方式将堆图转换为树,例如优先考虑最短路径和避免循环实际根的路径。 此功能是内存调查的一个很好的起点,在内存使用工具参考图中称为“热路径到根”。 你将在下面的树中看到带有红色图标的热路径。

    “附加到进程”对话框改进

    Visual Studio 中的“附加到进程”对话框得到了很大的改进,可提供更好的功能和用户友好性。 这些更新包括与 Visual Studio 主题的无缝集成、更节省空间且显示连接信息工具提示的视图,以及将“本地”连接设置为默认值来加快访问速度。 现在可轻松地在树视图和列表视图之间切换,使用可折叠部分更好地组织流程,并使用简化的组合框选择代码类型。 此外,“选择/跟踪窗口”功能现在更易于使用,支持双向跟踪,选择进程会突出显示其窗口,而单击窗口可选择其进程。

    EXE 的目标检测

    性能探查器的检测工具现在支持对任何可执行文件 (exe) 进行目标分析。 选择 exe 文件后,会显示一个目标检测对话框,类似于启动项目分析。 通过此增强功能,可集中分析特定可执行文件的性能指标。 此外,还可使用“添加项”按钮添加额外的动态链接库 (DLL),从而扩大分析范围,增强应用程序性能检查。

    某些项目的 Blazor 调试性能

    在生成 ASP.NET Core Blazor 项目时,在某些情况下,在开始调试时可能会遇到重大延迟。 在此版本中,我们进行了更改,应该可以防止出现这种延迟。 如果无法升级到 17.10 或更高版本, 开发者社区网站上列出了版本 17.9 的解决方法

    取消解决方案加载

    如果要在加载所有项目之前停止解决方案加载过程, 现在可以取消该操作并返回到空环境 IDE。

    Microsoft Teams 开发工具(Teams 工具包)

    Teams 工具包现在包括一个新的项目文件 (.ttkproj),用于组织管理 Teams 应用的所有文件。 创建新的 Microsoft Teams 应用项目将会创建一个含有两个项目的解决方案,你将看到一个 TeamsApp 项目,其中包含 Teams 工具包功能的应用部件清单 (manifest) 和其他文件,还会看到另一个 C# 项目,其中包含用于实现对话机器人、Tab 等应用功能的示例代码。

    你还会找到以下更改:

  • 现在可以在 TeamsApp 项目上发现 Teams 工具包项目菜单
  • 支持预览功能 > 启用多项目启动配置文件,在 Teams、Outlook 和 Teams 应用支持的其他平台中启动调试更加简单
  • 新的 WinUI 工作负载和模板改进

    WinUI 入门比以往更加容易了

    新的 Windows 应用程序开发工作负载现在可供开发者直接开始使用 .NET 编写时尚、现代和快速的 WinUI 应用。 单击一下即可安装。

    若要使用 C++ 编写 WinUI 应用,可以选择此工作负载下的可选组件。

    使用更好的模板选择和新单元测试模板更快地深入了解 WinUI

    WinUI 模板已在新项目模板选择列表中获得了全新的图标和优先级提升,使它们更易于访问。 常用的 C# 和 C++ 空白应用程序模板位于顶部附近,你无需搜索或滚动即可跳入代码。 我们还为 WinUI 添加了社区要求的全新单元测试模板,以帮助你更轻松地测试应用!

    现在可以使用 Visual Studio 2022 版本 17.10 安装程序,将已安装的实例范围 Azure 市场扩展导出到 *.vsconfig 文件中。 这一新的导出功能,是对我们在 17.9 中推出的 Visual Studio 安装程序 加载在 *.vsconfig 文件中指定的扩展 的功能的补充。 如果对此体验有任何反馈或建议,请在 开发者社区 中告知我们。

    有关 使用 *.vsconfig 文件 的详细信息,请参阅联机文档。

    Razor 文件中 C# 代码的嵌入提示

    现在可以在 Razor(.razor、.cshtml)文件中启用 C# 代码的嵌入提示。 嵌入提示显示与代码内联的文字和对象实例化的参数名称。 嵌入提示还可以为具有推断类型(即 var )和 lambda 参数类型的变量显式类型提示。 可以通过“ 工具>选项>文本编辑器>C#>高级 ”启用此功能。

    代码搜索和导航

    在一体化搜索中,我们进行了一些更改以简化 UI 并提高可读性。 这些更改包括删除查询中匹配项的突出显示、删除包含每种结果类型计数的状态栏,以及将状态消息移至筛选器行。

    让我们了解你对 开发者社区 的看法。

    使用新的文本格式选项提高 Visual Studio 的可读性

    我们解决了 Visual Studio 2019 中的斜体字体支持问题 ,将斜体、删除线和下划线作为整个 IDE 中文本格式设置的附加选项。

    要使用新选项来个性化你的体验,请导航到“工具”>“选项”>“环境”中的“字体和颜色”页面,你可以在其中找到前面提到的每个选项的复选框。

    图像悬停预览

    任何 Web、桌面或移动开发者都经常使用图像。 你可以从 C#、HTML、XAML、CSS、C++、VB、TypeScript 甚至代码注释中引用图像。 有些图像位于本地的,有些存在于线上或网络共享上,还有一些图像仅作为 base64 编码字符串存在。 我们在代码中以多种方式来引用它们,但系统始终会以字符串值显示图像,而不显示图像的外观。 这种情况到此为止了。

    我们添加了一个编辑器工具提示,系统会在鼠标悬停在代码编辑器中的图像引用上时显示该提示。 工具提示以原始尺寸显示图像,但宽度和高度上限为 500 像素。 在预览图像下方,你将看到图像大小(以像素为单位)和文件大小(以字节为单位)。 此功能是与 Visual Studio 社区 密切合作 开发而成。 谢谢!

    Windows 窗体进程外设计器

    Windows 窗体进程外设计器中的性能改进

    通过与关键合作伙伴展开的富有成效的合作,我们很高兴地宣布推出对 WinForms 服务器进程 TypeResolutionService 的重大优化。 这些增强功能显着提高了设计时性能,在典型的业务线应用程序中实现了不低于 30% 的提升,最高可取得 50% 的提升程度,十分引人注目。 值得注意的是,在触发服务器进程重新启动和设计器重新加载的场景中,这些增强功能的效果尤为突出,例如项目重建或项目引用调整。 这些性能改进的核心在于我们团队实施的新机制,优先考虑对设计器负载至关重要的组件。 我们推荐你探索更新的设计器,并通过 VS 反馈渠道 分享宝贵的反馈,以便我们可以继续改进 WinForms 设计器的性能。

    ARM64 版 Visual Studio 支持 SSDT

    现在可以在 ARM64 版 Visual Studio 中创建数据库项目。 此版本中提供的 SSDT 的一些主要功能包括:

  • 数据库项目(打开、生成、发布)
  • 查询编辑器
  • 数据库属性编辑器
  • 此版本的一些限制如下所示:

  • IntelliSense
  • 使用 localdb 在本地计算机中开发数据库
  • 对 SSDT 中 MCD(多列分布)的支持

    用户现在可以在导出期间设置 DW 兼容级别。

  • 我们在“操作选项卡”下的“数据库设置”中添加了一个新的数据库选项。 它的名称是“DW 兼容性级别”。
  • 可能的值为 Auto|10|20|30|40|50|9000,并且仅适用于目标 - Microsoft Azure SQL 数据仓库
  • 用户在安装期间选择的工作负载附带必需和建议的组件。 必需组件对于工作负载的功能至关重要,而建议的组件虽然是可选的,但在最大化其潜力方面发挥着重要作用。

    自 Visual Studio 2017 发布以来,已通过次要版本更新持续将增强功能集成到 IDE 中。 这些改进可提高工作效率并扩展开发功能,并无缝集成到现有组件和新组件中。 但是,许多用户可能无法在增量更新时了解这些新的推荐组件。 若要解决此问题,从 17.10 P1 开始,Visual Studio 将在更新期间自动安装这些建议的新组件。 值得注意的是,更新期间安装的建议组件仅适用于用户选择的工作负载。

    同样,在更新期间,此功能可确保未安装任何新工作负载。 此外,用户选择不安装的任何现有推荐组件仍保持不变。

    如果你不想使用此功能,可以轻松在安装程序的“更新设置”对话框中将其取消选中。 如果建议的组件不再需要修改安装,还可以删除建议的组件。

    有关 Visual Studio 中所有组件(包括建议的组件)的列表,请参阅 Visual Studio 组件 ID

    改进了对 Android 仿真器性能影响的检测

    尝试启动 Android 仿真器时,Visual Studio 将检查硬件加速,并显示有用的对话框来说明潜在的性能影响。 如果未配置计算机,或者计算机不支持使用 Windows 虚拟机监控程序平台 (WHPX) 进行硬件加速,则现在需要 Android Emulator 虚拟机监控程序驱动程序 (AEHD)。 Android 仿真器 API 33 及更高级别中已弃用 Intel 硬件加速执行管理器 (HAXM),并且在 Intel 处理器上已被 AEHD 取代。

    有关详细信息,请参阅 如何使用 Android 仿真器启用硬件加速(Hyper-V 和 AEHD)

    将工作项链接到拉取请求

    在 Visual Studio 中创建拉取请求时,Azure DevOps 用户的 首要请求 是启用工作项链接。 现在,可试用“相关工作项”部分查看你在拉取请求说明中引用的任何工作项,并将工作项连接到 Azure DevOps 上的拉取请求。

  • 我们现支持在 CMake 目标视图中固定 CMake 目标。 对于已固定的目标,现在有一个顶级文件夹。 可在上下文菜单上右键单击并选择 Pin 选项来固定任何目标。
  • 还可选择 Unpin ,取消固定“已固定的目标”文件夹中的任何目标。

  • MSVC 工具集将次要版本号从 19.39 (VS 2022 v17.9) 递增到 19.40 (VS 2022 v17.10)。 MSVC 工具集将是预览版 1 中的版本 19.40.33521.0。 有关更多详细信息,请参阅 “VS 2022 v17.10 中的 MSVC 工具集次要版本号 14.40”博客文章

  • 现在可以使用 Build Insights 来查看模板实例化信息。 必须在“工具”>“选项”>“Build Insights”中激活模板实例化集合。

  • 我们添加了额外的 Unreal Engine 宏,根据 UE 代码样式进行缩进。

  • 现在,你可使 Unreal Engine 测试适配器所需的 Unreal Engine 插件保持在后台运行,从而极大地降低启用成本。 这是一项选择加入功能,可通过“工具”>“选项”>“Unreal Engine”来激活。

    C++ 内存布局可视化

    Visual Studio 现在具有 C++ 内存布局可视化功能。 此功能显示编辑器中类、结构和联合的内存布局,无需编译。 将鼠标悬停在类型上时,“内存布局”链接将显示在“快速信息”中。 单击此链接将打开一个窗口,其中显示所选类型的内存布局,并包含各个数据类型的大小和偏移量的详细信息。

    Win32 应用隔离

    一项突破性的安全功能,可增强用户隐私和应用程序完整性。 Win32 应用隔离建立在 AppContainer 的基础上,可确保应用程序已沙盒化,从而提供一个安全的环境,限制潜在威胁的影响。

    开发人员现在可轻松地将应用程序隔离在 Visual Studio 中的,从而简化流程并改进其项目的整体安全状况。 你可以直接与 开发人员社区互动,并提供有关新功能和改进的反馈

  • 安装了 Delinea 特权管理软件的用户可能会在启动 Visual Studio 时遇到问题。 Delinea 已了解此问题并已解决此问题。 请通过 https://delinea.com/support 联系他们,获取有关如何解决此问题的说明。
  • 源代码管理对话框:为避免看到“找不到与此解决方案关联的源代码管理提供程序”对话框,请参阅此 工单 获取解决办法。
  • 针对 UWP 的 C++ 用户可能会由于缺少 C:\Program Files (x86)\Microsoft SDKs\Windows Kits\10\ExtensionSDKs\Microsoft.VCLibs.Desktop 文件夹而遇到生成错误 Could not find SDK "Microsoft.VCLibs.Desktop, Version=14.0" 。 有关详细信息和解决方法,请参阅此 工单 。 此问题的优先级正在确定。 (2024 年 5 月 29 日更新:此问题自 17.10.1 版本起得到修复)。
  • 生成托管 MFC DLL 的 C++ 用户可能会遇到生成错误 error LNK2001: unresolved external symbol "public: __cdecl PostDllMain::PostDllMain(void)" 。 有关详细信息和解决方法,请参阅此 工单 。 此问题的优先级正在确定。 (2024 年 5 月 29 日更新:此问题自 17.10.1 版本起得到修复)。
  • C# 编译器中的优化会导致对值为 null 的小数和值为 0.00m 的小数之间的比较错误地被视为相等。 .NET 编译器存储库中提供了更多详细信息
  • 对基础 Windows 组件进行的最新更新导致诊断工具窗口发生中断性变更,而这又会影响探查器工具。 这会影响所有 Visual Studio 2022 版本。 可以在开发者社区网站上查看其他详细信息和最新更新
  • 此更新可能包括单独许可的新 Microsoft 或第三方软件,如 第三方通知 或其随附许可证中所述。

    反馈和建议

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

    Blogs

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

    开发人员工具博客