相关文章推荐
稳重的打火机  ·  c - Linux Kernel ...·  2 年前    · 
开朗的骆驼  ·  Environment lifecycle ...·  2 年前    · 
考研的海豚  ·  Visual ...·  2 年前    · 
爽快的小蝌蚪  ·  体验HDR之魅 ...·  3 年前    · 

Visual Studio 2022 版本 17.1

支持的时间范围

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

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

Visual Studio 2022 版本 17.1 发行版

  • 2022 年 5 月 10 日 - Visual Studio 2022 版本 17.1.7 NewReleaseIcon
  • 2022 年 4 月 26 日 - Visual Studio 2022 版本 17.1.6
  • 2022 年 4 月 19 日 - Visual Studio 2022 版本 17.1.5
  • 2022 年 4 月 12 日 - Visual Studio 2022 版本 17.1.4
  • 2022 年 3 月 31 日 — Visual Studio 2022 版本 17.1.3
  • 2022 年 3 月 22 日 — Visual Studio 2022 版本 17.1.2
  • 2022 年 3 月 8 日 — Visual Studio 2022 版本 17.1.1
  • 2022 年 2 月 15 日 — Visual Studio 2022 版本 17.1.0
  • Visual Studio 2022 博客

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

  • Visual Studio 2022 版本 17.1 现已正式发布!
  • Visual Studio 2022 版本 17.0 现已正式发布!
  • Visual Studio 2022 已存档的发布说明

  • Visual Studio 2022 版本 17.0 发行说明
  • 17.1.7 Visual Studio 2022 版本 17.1.7 NewReleaseButton

    发布日期:2022 年 5 月 10 日

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

  • 更新了 Daytona 中的 webview2 基线。
  • 来自开发者社区

    安全顾问公告

    CVE-2022-29117 .NET 拒绝服务漏洞 .NET 6.0、.NET 5.0 和 .NET Core 3.1 中存在漏洞,恶意客户端可以操纵 Cookie 并导致拒绝服务。

    CVE-2022-23267 .NET 拒绝服务漏洞 .NET 6.0、.NET 5.0 和 .NET Core 3.1 中存在漏洞,恶意客户端可利用通过 HttpClient 分配的过量内存导致拒绝服务。

    CVE-2022-29145 .NET 拒绝服务漏洞 .NET 6.0、.NET 5.0 和 .NET Core 3.1 中存在漏洞,恶意客户端可在解析 HTML 表单时导致拒绝服务。

    CVE-2022-24513 特权提升漏洞 当 Microsoft Visual Studio 更新程序服务错误分析本地配置数据时,存在潜在的特权提升漏洞。

    17.1.6 Visual Studio 2022 版本 17.1.6

    发布日期:2022 年 4 月 26 日

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

  • 修复了 在运行代码分析按位枚举检查时 C++ 编译器 (CL.exe) 有时会崩溃 的问题。
  • 修复了 iPhone 模拟器 - 错误: 无法加载文件“System.Memory” 的问题
  • 修复了 17.0.8 的 VisualCPP SxS 中的 vctip.exe 回归
  • 修复了 VisualCPP SxS 中的一个 bug,此 bug 阻止某些使用地址擦除器 (ASAN) 构建的应用程序在 Windows 11 中加载。
  • 修复了 VisualCPP SxS 中的另一个 ASAN 问题,在该问题中,具有堆争用的多线程应用程序可能会遇到死锁、错误的“野指针释放”报告或进程退出期间的死锁。
  • 来自开发者社区

    开发者社区提供了 17.1 中可用修补程序的完整列表

    17.1.5 Visual Studio 2022 版本 17.1.5

    发布日期:2022 年 4 月 19 日

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

  • 修复了 17.1.4 的 vctip.exe 回归
  • 修复了“无法在脱机计算机上安装 Visual Studio 的任何扩展 (vsix)”问题。
  • 来自开发者社区

    开发者社区提供了 17.1 中可用修补程序的完整列表

  • Launch-VsDevShell 在严格模式下不再有效
  • WebSocket 到“wss://...”的连接失败。 ASP.NET Core Web 应用程序。 更新 17.1 后
  • 17.1.4 Visual Studio 2022 版本 17.1.4

    发布日期:2022 年 4 月 12 日

    由于更新了 Visual Studio 中的 Git 版本以解决安全漏洞 CVE-2022-24765 ,某些 Git 用户可能会遇到阻止 Git 存储库出现在 Visual Studio 中的错误。

    以管理员用户身份克隆或创建存储库,然后尝试以非管理员身份查看或使用该存储库的用户可能会受到此问题的影响。 如果遇到此问题并信任尝试打开的存储库,可以通过从命令提示符、PowerShell 或有权访问适用于 Windows 的 Git 的终端运行以下命令,将其添加到安全目录列表中:

    git config --global --add safe.directory <path-to-repository>

    可以找到完整的详细信息,并跟踪有关 开发者社区 更新的问题。

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

  • 修复了模板中对“new”的调用未通过自变量依赖查找找到正确的“operator new”函数的问题。
  • 修复了 Windows 窗体 .NET Framework 设计器的设计时类型解析问题,否则会导致设计器加载失败。
  • 修复了“HotRestart.Tasks.DetectSigningIdentity”任务意外失败的问题。
  • 添加了安装程序命令行以删除未使用的通道。
  • 不支持同步 Apple 开发人员帐户证书和预配配置文件,但打算用于内部部署的帐户除外。 若要解决此问题,请直接从 Apple 开发人员帐户网站下载证书和预配配置文件。
  • 来自开发者社区

    安全顾问公告

    CVE-2021-43877 ASP.NET Core 和 Visual Studio 特权提升漏洞 ASP.NET Core 模块 (ANCM) 中存在特权提升漏洞,当 .NET Core、.NET 5 和 .NET 6 应用程序托管在 IIS 中时,该漏洞可能允许特权提升。

    CVE-2022-24765 特权提升漏洞 Git for Windows 中存在潜在的特权提升漏洞,其中 Git 操作可以在存储库外部运行,同时搜索 Git 目录。 Git for Windows 现已更新为版本 2.35.2.1。

    CVE-2022-24767 DLL 劫持漏洞 在 SYSTEM 用户帐户下运行卸载程序时,Git for Windows 安装程序中存在潜在的 DLL 劫持漏洞。 Git for Windows 现已更新为版本 2.35.2.1。

    CVE-2022-24513 特权提升漏洞 当 Microsoft Visual Studio 更新程序服务错误分析本地配置数据时,存在潜在的特权提升漏洞。

    17.1.3 Visual Studio 2022 版本 17.1.3

    发布日期:2022 年 3 月 31 日

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

  • 引入了对 Apple Xcode 13.3 的支持。
  • 修复了使用 Xcode 13.3 时发生的 iOS IPA 生成器错误(错误 ITMS-90207)。
  • 修复 未能将电子邮件>帐户与 Apple 开发人员门户同步<
  • 修复了长时间使用 TFVC(超过一个小时)时,Visual Studio 挂起/冻结的问题。
  • 修复了从 Visual Studio SQL Server Data Tools 连接到 Azure SQL 托管实例时的错误消息“检测到不兼容的 SQL Server 版本。”。
  • 使用 Visual Studion 2022 和 Apple Xcode 13.3 部署 iOS 应用会导致远程 iOS 模拟器窗口空白/黑屏。 规避方法:在“工具”-“选项”菜单下的“iOS 设置”中禁用“远程模拟器到 Windows”复选框。 iOS 应用应在 macOS 主机上正确部署。
  • 来自开发者社区

    开发者社区提供了 17.1 中可用修补程序的完整列表

  • 打开解决方案时必须不断终止 Visual Studio 任务
  • 17.1.2 Visual Studio 2022 版本 17.1.2

    发布日期:2022 年 3 月 22 日

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

  • 修复了即使关联的测试执行已完成的情况下,导致测试执行的某些动画在后台运行的问题。 这会导致高刷新率监视器上出现特别明显的速度放缓。 此修补程序应会改进在高刷新率监视器上使用 VS 的体验。
  • 在打开 Visual Studio 时,禁用自动打开堆栈跟踪资源管理器窗口的行为。 这仍然可以在选项中启用。
  • 修复了拖动停靠文档选项卡仅适用于停靠装饰器而不是其他文档选项卡的回归问题。
  • 修复了零星链接器挂起的问题。
  • 来自开发者社区

    开发者社区提供了 17.1 中可用修补程序的完整列表

  • 屏幕阅读器无法访问 Windows 窗体 5 设计器预览
  • 无法取消最小化 Visual Studio
  • TFS 错误:TF30063 未获得授权
  • 无法再将文档选项卡拖放到文档选项卡标签井的特定位置
  • 17.1.1 Visual Studio 2022 版本 17.1.1

    发布日期:2022 年 3 月 8 日

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

    来自开发者社区

    开发者社区提供了 17.1 中可用修补程序的完整列表

  • 在自定义命令中使用 CONFIG 时,17.1.0 中的 CMake->vcxproj 回归
  • VSSDK:VS 17.1.0 预览版 5.0 在 IVsObjectManager.UnregisterLibMgr() 之后挂起
  • 安全顾问公告

    CVE-2020-8927 漏洞 .NET 5.0 和 .NET Core 3.1 中存在远程代码执行漏洞,其中在 1.0.8 之前的 Brotli 库版本中存在缓冲区溢出。

    CVE-2022-24464 漏洞 分析某些类型的 http 表单请求时,.NET 6.0、.NET 5.0 和 .NET CORE 3.1 中存在拒绝服务漏洞。

    CVE-2022-24512 漏洞 .NET 6.0、.NET 5.0 和 .NET Core 3.1 中存在远程代码执行漏洞,其中堆栈缓冲区溢出发生在 .NET Double Parse 例程中。

    CVE-2021-3711 OpenSSL 缓冲区溢出漏洞 OpenSSL 中存在潜在的缓冲区溢出漏洞,Git for Windows 会使用该漏洞。 Git for Windows 现已更新为版本 2.35.1.2,解决了此问题。

    17.1.0 Visual Studio 2022 版本 17.1.0

    发布时间:2022 年 2 月 15 日

    此发行版 Visual Studio 2022 版本 17.1.0 的新增内容摘要

  • 添加了新的配置预设模板,以使用 CMakePresets.json 在远程 macOS 系统上配置和生成 CMake 项目。 此外,还可以在远程 macOS 系统上启动 CMake 目标,然后使用由 GDB 或 LLDB 提供支持的 Visual Studio 调试程序的前端进行调试。
  • 现在,可以使用 LLDB 或 GDB 在 Visual Studio 中调试远程 macOS 系统上的核心转储。
  • Visual Studio 附带的版本 Clang LLVM 已升级到 v13。
  • Visual Studio 的 CMake 集成仅当在开放工作区根目录中识别到 CMakeLists.txt 时激活。 如果在该工作区的其他级别识别到 CMakeLists.txt,则系统会通过发出一条通知来提示你激活 Visual Studio 的 CMake 集成。
  • 为嵌入式目标添加了一个新的寄存器可视化窗口,可通过“调试”>“窗口”>“嵌入式寄存器”访问该窗口。
  • 为 RTOS 项目添加了一个新的线程视图,可通过“调试”>“窗口”>“RTOS 对象”访问该视图。
  • 调试和诊断

  • 添加了名为 StickyDataTips 的新功能,即,现可在单击离开前让数据提示保持展开状态。 利用此方法,可以非常轻松地在数据提示中评估对象。 若要启用此功能,请选中“工具”>“选项”>“调试”>“常规”下的“在单击离开前让展开的数据提示保持打开状态”复选框。
  • 添加了对 Microsoft Azure 应用服务附加到进程的支持。
  • 现在可以将代码清理功能配置为在显式保存文件时运行。 在“工具”>“选项”下的“文本编辑器”>“代码清理”中,用户可以使用一个新选项在显式保存时启用代码清理,并选择要运行的配置文件。 请注意,此选项不会导致在自动保存时运行代码清除。
  • Git 工具

  • 添加了在 Visual Studio 中 比较分支 的功能。
  • 引入了对已分离头状态的增强功能,包括 签出提交 的功能。
  • 多存储库分支增强功能 ,包括同时在不同存储库中创建分支的功能(预览功能)。
  • 添加了在 Visual Studio 中创建新 Git 存储库时包含 README 文件的功能。
  • 增强了利用悬停按钮 固定常用分支的功能
  • 生成了一个 更易于发现的 UI,用于将工作项与新提交相关联
  • 添加了切换颜色方案的功能,可以按文件扩展名或项目为你的标签着色。
  • 添加了启用彩色标签时自定义标签颜色的功能。 在一个颜色标签上点击右键,选择“设置标签颜色”。
  • 安装和更新

  • 我们减少了安装后所需的重新启动次数。
  • 需要重新启动经常是由于在使用系统目录中的 Visual C++ 运行时文件时对其进行更新引起的。 这些文件通常会正确更新;只是需要重新启动以清理已替换的文件。 在这些情况下,VS 安装程序现在会显示建议重新启动对话框。
  • 当显示建议重新启动对话框时,客户可以立即启动 Visual Studio IDE(无需重新启动)。
  • 更新设置 对话框中添加了有关 LTSC 通道 到期日期的信息。
  • 添加了以编程方式更改 更新的源位置 的功能,而与实际执行更新无关。 这使 IT 管理员能够 以编程方式更改更新通道
  • Microsoft Azure 应用服务附加到进程

  • 现在,在没有打开解决方案或项目的情况下,可以附加到 Windows 应用服务的 .NET(Framework. Core 或 5+)。 打开“附加到进程”对话框 > 将“连接类型”更改为 Microsoft Azure 应用服务 > 选择“查找”>“选择你的订阅”,然后在资源组下找到你的应用服务并选择“确定”。 查找要连接到的进程,然后选择“附加”。
  • Microsoft Teams 开发人员工具

  • Teams Toolkit 是可帮助开发人员为 Microsoft Teams 创建体验的 Visual Studio 扩展,并且是 Microsoft Teams Framework (TeamsFx) 的一部分。 有关 Teams Toolkit 和 TeamsFx 的详细信息,请参阅 GitHub Microsoft Teams 文档
  • 现在可以在 Visual Studio 安装程序的 ASP.NET Web 开发工作负载中选择 Microsoft Teams 开发工具组件。
  • 安装此组件会添加 Teams Toolkit 扩展。 使用新的 Microsoft Teams 应用项目模板开始创建新的 Teams 选项卡应用程序。
  • .NET 效率

  • 可等待表达式中的 await 现在有 IntelliSense 补全。 开始键入可等待表达式,并注意 await 在补全列表中的显示方式。

  • 现在有一个将静态成员移到新类型的重构。 将光标置于静态成员上。 按 (Ctrl+.) 触发“快速操作和重构”菜单。 选择“将静态成员移到其他类型”。这将打开一个对话框,你可以在其中选择要移动的成员。

  • 现在有一个简化代码以使用新的 C# 10.0 扩展属性模式的重构。 使用扩展属性模式可以减少噪音,允许你引用嵌套成员而不是嵌套另一个递归模式。 将光标置于嵌套成员引用上。 按 (Ctrl+.) 触发“快速操作和重构”菜单。 选择“简化属性模式”。

  • 现在有一个检测变量交换,并建议使用元组来交换值,因此无需使用临时变量按顺序交换参数即可使用元组的重构。 将光标放在要交换值的临时变量赋值上。 按 (Ctrl+.) 触发“快速操作和重构”菜单。 选择“使用元组交换值”。

  • 代码定义窗口现在支持 C# 和 Visual Basic。 要使用代码定义窗口,请按 (Ctrl+W,D) 或选择“视图”>“代码定义窗口”。 接下来,将光标放在标识符上以导航和浏览代码。

  • 现在有一个在整个项目中启用 可为空的引用类型 的重构。 可以通过向项目文件添加 <Nullable> enable </Nullable> 元素或向项目中的每个源文件添加 #nullable enable pragma 来启用可为空的引用类型。 为了帮助简化此过程,我们现在将在 .NET 项目中自动包含 <Nullable> enable </Nullable> 元素。 对于现有的 .NET 项目,你可以通过将光标放在 #nullable enable pragma 上来启用可为空的引用类型。 按 (Ctrl+.) 触发“快速操作和重构”菜单。 选择“在项目中启用可为空的引用类型”。

  • 当元组在签名中出现多次时,“签名帮助”改进了其显示。 简化视图包括结构类型键,用于向你显示元组中包含的内容。

  • 你现在可以一目了然地了解错误和警告,而无需将光标悬停在使用内联诊断的代码行上。 内联诊断默认处于禁用状态,因此需要在“工具”>“选项”>“文本编辑器”>“C# 或 Basic”>“高级”中启用它,然后选择“显示内联诊断(试验)”。

  • 如果引用程序集具有嵌入的源代码或源链接,我们现在将嵌入的源代码和 源链接 显示为“转到定义”的一部分。 这使你可以导航到声明目标符号的原始源文件。 将光标放在一个符号上,然后按 F12 即可导航到原始源文件。

  • 现在有一个“堆栈跟踪资源管理器”窗口,其中显示剪贴板中的堆栈跟踪,你可以单击并直接导航到相关代码。 默认情况下,如果从解决方案复制一个堆栈跟踪,然后将焦点切换到“堆栈跟踪资源管理器”窗口,随即将自动显示该堆栈跟踪。 若要打开“堆栈跟踪资源管理器”窗口,请转到“视图”>“其他窗口”,然后选择“堆栈跟踪资源管理器”。

  • 在 Visual Studio 2019 中,我们为 EditorConfig 引入了新 UI。 EditorConfig 文件通过定义代码样式和格式帮助保持代码一致。 这些文件可以与代码一起存储在其存储库中,并使用相同的源代码管理。 这样,对于从该存储库克隆的每个团队成员,样式指南都是相同的。 在此版本中,我们向 EditorConfig UI 添加了命名样式。 若要将 EditorConfig 文件添加到某个项目或解决方案,请在解决方案资源管理器中右键单击该项目或解决方案名称。 选择“添加新项”。 在“添加新项”对话框中,搜索“EditorConfig”。 选择 .NET EditorConfig 模板以添加使用默认选项预填充的 EditorConfig 文件。 请注意新的 EditorConfig UI 和新的命名样式选项。

  • PDB 中源信息中的“转到定义”。
  • 可等待表达式中的 await 有 IntelliSense 补全。
  • 将静态成员移到新类型的重构。
  • 简化代码以使用新的 C# 10.0 扩展属性模式的重构。
  • 检测变量交换并建议使用元组来交换值的重构。
  • 代码定义窗口支持 C# 和 Visual Basic。
  • 在整个项目中启用可为空的引用类型的重构。
  • 当元组在签名中多次出现时,签名有助于简化视图改进。
  • 通过内联诊断一目了然地了解错误和警告。
  • 最后但同样重要的是,非常感谢以下人士在这个月对 .NET 效率(又名 Roslyn)所做的贡献:
  • Youssef Victor (@Youssef1313)
  •