Visual Studio 2022 版本 17.7 发行说明
提示
观看 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.7 发行版
- 2023 年 11 月 14 日 - Visual Studio 2022 版本 17.7.7
- 2023 年 10 月 24 日 - Visual Studio 2022 版本 17.7.6
- 2023 年 10 月 10 日 - Visual Studio 2022 版本 17.7.5
- 2023 年 9 月 12 日 - Visual Studio 2022 版本 17.7.4
- 2023 年 8 月 29 日 — Visual Studio 2022 版本 17.7.3
- 2023 年 8 月 22 日 – Visual Studio 2022 版本 17.7.2
- 2023 年 8 月 15 日 - Visual Studio 2022 版本 17.7.1
- 2023 年 8 月 8 日–Visual Studio 2022 版本 17.7
Visual Studio 2022 博客
可从 Visual Studio 2022 博客获取来自 Visual Studio 工程团队的官方产品见解。 有关 Visual Studio 2022 版的详细信息,可参阅以下文章:
Visual Studio 2022 版本 17.7.7
发布时间:2023 年 11 月 14 日
此发行版 Visual Studio 2022 版本 17.7.7 的新增内容摘要
已解决的安全公告
- 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.7.6
发布日期:2023 年 10 月 24 日
此发行版 Visual Studio 2022 版本 17.7.6 的新增内容摘要
- 修复了打开 Devart 扩展中的数据库项目时挂起的问题。
- 修复了从解决方案资源管理器上下文菜单添加新的 sqllite(和类似项)连接服务时发生的故障问题。
开发人员社区
- Visual Studio 2022 预览版 17.7.0 预览版 6 开始将所有解决方案文件复制到远程 Linux 服务器
- 灾难性故障(HRESULT 异常:打开带有第 3 方扩展名的文件时出现 0x8000FFF (E_UNEXPECTED))
- 打开“注册 Visual Studio”不起作用
- 更改为“无”后加载解决方案时,源代码管理插件将恢复为“Git”
- 远程 Git 操作速度非常慢
安全公告已重新发布
- 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.7.5
发布日期:2023 年 10 月 10 日
此发行版 Visual Studio 2022 版本 17.7.5 的新增内容摘要
- 此版本修复了在之前的 Visual Studio 会话中选择的配置未还原的问题。
- 在设置中选择“从不自动运行配置步骤”时,CMake 缓存不再自动生成。
- 修复了 C++ 模块 bug 并添加了多个模块吞吐量改进。 使用 LTCG (/GL) 时,在某些极少数情况下,编译器可能无法意识到全局变量在程序执行期间可能会被修改,而是错误地断定它是常量,并将其初始值错误地传播到使用全局变量的位置。
- 将 .NET 7 MAUI 更新到 SR8。 修复了在链接器被禁用后 MAUI 应用无法使用 Xcode 15 进行编译的问题。 有关完整发行说明,请访问:https://github.com/xamarin/xamarin-macios/releases
- 修复了与显示 DPI 更改相关的几个问题,这些问题可能会导致出现故障或被挂起。
- 修复了以下问题:如果未安装某些 Visual Studio 工作负载或单个组件,打开文件夹会导致显示与“进程遥测”相关的错误。
开发人员社区
- 变量 CMAKE_INSTALL_PREFIX 被定义多次
- 使用 Visual Studio 2022 版本 17.7.3 时,ASP.NET Core 项目的生成挂起
- 文档大纲反应速度太慢。
- HTTP 编辑器特殊字符处理有错误
- Studio 版本 17.6.5 的 .NET6 平台不支持 System.Windows.Extensions 类型
- 版本 17.7.0 预览版 2.0 - WebApp 无法使用 Active Directory 默认身份验证和 VisualStudioCredential 连接到 SQL 托管实例
- 索引有时在 2022 预览版 2 上挂起
- 远程终端异常:方法“ClosePtyAsync”没有实现
- 从 VS 17.7 起,“在保存时格式化”扩展不再有效
- 切换断点会破坏撤消堆栈
- Visual Studio 17.6 重启后不记得正在使用哪个 CMakePresets.json 配置
- WebApp 无法使用 Active Directory 默认身份验证和 VisualStudioCredential 连接到 SQL 托管实例
- DTE2.Documents 异常 0x8000000A
- 最小化任务栏后还原时,Visual Studio 2022 出现故障
- “在文件中查找”对话框未打开
- 即使勾选“从不自动运行配置”,Cmake 缓存配置也会自动运行
已解决的安全公告
- CVE-2023-36435MsQuic.dll 中存在内存泄漏漏洞,这可能导致拒绝服务。 此问题只影响 Windows 系统。
- CVE-2023-38171MsQuic.dll 中存在空指针漏洞,这可能会导致拒绝服务。 此问题只影响 Windows 系统。
- CVE-2023-44487ASP.NET Core Kestrel Web 服务器中存在漏洞,恶意客户端可能会向服务器发送大量特制的 HTTP/2 请求,从而导致拒绝服务。
Visual Studio 2022 版本 17.7.4
发布日期:2023 年 9 月 12 日
此发行版 Visual Studio 2022 版本 17.7.4 的新增内容摘要
- 将 Visual Studio 使用的 Git 版本更新为了 v2.41.0.3。
- 修复了在反编译模块上通过热重载来应用更改时发生故障的问题。
- 通过向路径添加引号来防止路径上的进程劫持,从而确保 VS 安装程序提升服务的安全性。
开发人员社区
已解决的安全公告
- 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,在其中读取恶意文件可能会导致权限提升。
- CVE-2023-36758此安全更新解决了 VSInstallerElevationService 中运行恶意可执行文件时可能导致权限提升的漏洞。
Visual Studio 2022 版本 17.7.3
发布日期:2023 年 8 月 29 日
此发行版 Visual Studio 2022 版本 17.7.3 的新增内容摘要
- 添加了对使用 Xcode 15 列出模拟器和设备的支持,并删除了 NewsstandKit 硬链接依赖项。
- 修复了在安装程序路径中存在符号链接时阻止 Visual Studio 安装程序运行的问题。
- 17.7 中添加的新的 C++ 包含清理功能一直导致用户崩溃,因此我们暂时禁用它,以期在 17.8 中重新启用
开发人员社区
- 如果打开某个项目中的任何文件,打开解决方案就会挂起
- 尝试打开 .sql 文件时,VS 2022 崩溃
- 包含通配符的 Kestrel 网址不适用于 Visual Studio 2022 17.7
- VS2022 上的 VSIX 安装失败
- 在新的 VS 2022 更新 17.7.0 中,功能测试不起作用
Visual Studio 2022 版本 17.7.2
发布日期:2023 年 8 月 22 日
此发行版 Visual Studio 2022 版本 17.7.2 的新增内容摘要
- 某些终结点安全性和应用程序控制计划会导致 Visual Studio 不稳定。 此问题已解决。
- 修复了某些用户在“为我安装 WSL”体验中遇到的崩溃。
- 用户在打开包含 CMake 项目的文件夹时可能会在 Visual Studio 中遇到无限期挂起。 导致此挂起的争用条件已确定并修复。
开发人员社区
Visual Studio 2022 版本 17.7.1
发布日期:2023 年 8 月 15 日
此发行版 Visual Studio 2022 版本 17.7.1 的新增内容摘要
开发人员社区
Visual Studio 2022 版本 17.7
发布日期:2023 年 8 月 8 日
此发行版 Visual Studio 2022 版本 17.7 的新增内容摘要
提高生产力的功能
功能 | 社区建议 |
---|---|
比较文件 | 🙏–543 票 |
复制和剪裁缩进 | 🙏–86 票 |
多分支 Git 图 | 🙏–149 票 |
创建新的 GitHub Actions | |
并行堆栈筛选 | |
折叠解决方案资源管理器的所有后代 | 🙏–7 票 |
性能改进
功能 | 社区建议 |
---|---|
F5 速度 | |
一站式搜索响应能力 | |
“在文件中查找”搜索改进 | 🙏–122 票 |
C# 拼写检查器内存消耗 | |
C++ Unreal Engine 的 IntelliSense 时间 | |
灯泡响应能力 | |
解决方案加载 CPU 消耗 |
.NET 开发
功能 | 社区建议 |
---|---|
外部 .NET 代码的自动反向编译 | 🙏–29 票 |
CPU 使用情况工具的新自动见解 |
C++ 和游戏开发
功能 | 社区建议 |
---|---|
适用于 C++ 的 Unreal Engine 宏格式设置 | |
在 Visual Studio 中生成见解 (C++) | 🙏–141 票 |
Unreal Engine C++ 命名约定检查器 | |
改进了 Doxygen 重载分辨率 | |
Unreal Engine Blueprint 查找所有引用 | |
地址擦除器 continue_on_error 支持 | |
包括清理 |
使用 C++ 进行 Linux 和嵌入式开发
功能 | 社区建议 |
---|---|
WSL 自动获取 | |
远程文件资源管理器更新 |
[其他 C++ 更新...]
Web 开发
功能 | 社区建议 |
---|---|
ASP.NET 项目中的 npm 依赖项管理 | |
支持 Vite for React 和 Vue 新项目创建 | |
HTTP 编辑器 | |
Power Platform 连接服务 |
F#
SSDT (SQL)
功能 | 社区建议 |
---|---|
支持 SSDT 中的无服务器 SQL 池 |
安装和更新
功能 | 社区建议 |
---|---|
回滚现在会保留所有用户设置 |
企业版管理和获取
功能 | 社区建议 |
---|---|
标准用户能够更新和修改 Visual Studio | 🙏–97 票 |
Microsoft 365 开发
功能 | 社区建议 |
---|---|
Microsoft Teams 开发工具(Teams 工具包) |
其他开发者社区建议:你们发问了,我们聆听了!
- 无法再将表导入 edmx。 “正在运行的转换: System.NullReferenceException: 对象引用未设置为对象的实例。” 46 票
- 重启后无法记住批生成中的选择 41 票
- .vs 文件夹出人意料地增大 32 票
- 调用堆栈和其他窗口未正确呈现 21 票
- SignTool 错误:/p 选项需要 /f 选项 12 票
- 在 MAUI 中,无法对 Xaml 使用 F7,对 CS 使用 Shift+ F7 10 票
- 单击固定选项卡会将窗口拖出并取消固定 9 票
- MSVC 编译器在用户定义的运算符重载上挂起 8 票
- 在 Unreal Engine 中查看着色器文件时 HLSL Tools 将使 Visual Studio 崩溃,且虚拟文件映射已提供 7 票
- VS 2022 版本 17.6.0 预览版 3 和预编译标头出现错误 C1010
- VS 2022 中的 SSDT 完全损坏
- 编译器在分析代码时崩溃,包括具有引用包含类的嵌套非模板类的类模板的专用化
- 使用随机 JSON 对话框启动 VS 失败
- 除非完成手动重新生成或修改代码,否则将忽略 Azure Function 的 host.json
提高生产力的功能:
比较文件
不再需要离开 Visual Studio 并依赖其他工具来比较文件。 现在,可以通过以下任一方法轻松将解决方案资源管理器中的任何文件与其他文件进行比较:
- 右键单击一个文件,从上下文菜单中 选择“与...比较”,这将打开文件资源管理器。 导航到磁盘上的任何文件并将其选中以进行比较。
- 使用多选功能选中两个文件,方法是按住 Ctrl 按钮,然后右键单击并从上下文菜单中选择“比较选定项”。
请在此处分享你的反馈。 我们很乐意听到你对此新体验的看法。
复制和剪裁缩进
将代码从 Visual Studio 复制到另一个程序(Outlook、Teams、Slack 等)时,Visual Studio 现在会自动修复缩进。
多分支 Git 图
在预览版工作的基础上,我们实现了多分支图,以便在同一图形中可视化多个分支,另外还有其他 UI 改进。
可以选择其他分支以与当前签出分支进行比较,或使用悬停眼图标在图中打开和关闭分支,从而使用新的摘要图标跟踪当前签出分支上的传入和传出分支。 此外,还可以在 Azure DevOps 存储库中为创建者提供头像、获取更流畅的图呈现更新,并通过折叠分支面板或打开提交详细信息来最大化空间。
请在此处分享有关此功能的反馈
创建新的 GitHub Actions
现在可以从解决方案资源管理器创建新的 GitHub Actions 工作流。 它支持将 Azure 容器应用和 Azure Kubernetes 服务作为目标,并支持使用单个工作流部署多个项目。 当项目在 GitHub.com 上受源代码管理时,解决方案资源管理器中会显示一个表示 GitHub Actions 的新节点,(如果未看到新节点,请确保在“工具”>“选项”>“预览功能”下选中“在解决方案资源管理器中显示 GitHub Actions”)。 右键单击并选择“新建”以尝试新体验。
并行堆栈筛选器
并行堆栈窗口现在支持筛选选项。 通过筛选,可以轻松地仅关注对你很重要的帧和线程,这样就可以提高清晰度并在更短的时间内完成更多工作。 除了筛选之外,我们现在还添加了从并行堆栈窗口中拖动选择帧的功能。 因此,现在可以一次对所有选定帧轻松执行复制/粘贴、标记/取消标记或冻结/解冻等操作。
折叠解决方案资源管理器的所有后代
- 在解决方案资源管理器中右键单击节点时,我们已将“折叠所有后代”命令添加到上下文菜单中。 可以使用此命令折叠所选节点及其后代节点。 我们还通过 Ctrl + 向左键将其映射为快捷方式。
性能改进:
F5 速度
我们认识到 Visual Studio 的性能对你至关重要。 考虑到这一点,我们优化了程序数据库 (PDB) 文件,从而改进了调试会话,并将 Unreal 项目的项目选择屏幕加载时间减少了 21%(约 4 秒的增益)。 此外,F5 路径已优化,使得调试器的启动时间和进程启动提高了 5-10%。
一站式搜索响应能力
一站式搜索将获得多项准确性和性能增强。 例如,精确匹配项现在会在结果列表中显示得更高,当你键入查询时,结果会更准确地实时更新。
试用一站式搜索体验,方法是确保它在“工具 > 管理预览功能 >“新 Visual Studio 搜索体验(需要重启)”中启用,并使用 Ctrl + T 或 Ctrl + Q 键盘快捷方式启动它。 如果你有关于此功能的反馈,请在此处告诉我们。
“在文件中查找”搜索时间
通过各种优化显著改进了“在文件中查找”搜索时间,使搜索时间显著减少约 50%!
C# 拼写检查器内存消耗
C# 拼写检查器的 LSP(语言服务器协议)经过了重大改进。 通过实现更高效的数据结构并启用流式处理支持,我们在 LSP 服务器和 LSP 客户端之间传输的 JSON 内存占用量减少了 90%。 此增强可提高性能、提高拼写检查功能的效率和可缩放性。
C++ Unreal Engine 的 IntelliSense 时间
在 Unreal Engine 项目中,IntelliSense 和着色在新打开的 C++ 文件中准备就绪的时间会显著减少。 在 Unreal Engine 5.1 和 5.2 项目中,IntelliSense 缓存 (IPCH) 的生成速度提升了 30%,在 Unreal Engine 4.27 项目中提升了 15%。
灯泡响应能力
Roslyn 中灯泡功能的性能增强使得缓慢的诊断可以更快地修复,例如修复格式和简化类型名称。 享受即时的建议和修复,即使在大型文档或进行编辑后也是如此。
解决方案加载 CPU 消耗
得益于优化的哈希创建方法,加载大型解决方案的效率更高了,CPU 消耗量也降低了。 这一增强对于具有多个核心的计算机尤其有利。
.NET 开发
外部 .NET 代码的自动反向编译
Visual Studio 调试程序支持对外部 .NET 代码进行自动反向编译。 每当单步执行已在外部实现的代码时,调试程序将自动反向编译该代码并显示执行点。
此功能在分析调用堆栈时特别有用,你可以双击任何堆栈帧,调试程序将直接导航到代码。 此外,还可以调试反向编译的代码并轻松设置断点。 所有反向编译的代码也显示在解决方案资源管理器中的外部源节点下,以便在需要时轻松浏览外部文件。
如果要禁用外部代码的自动反向编译,只需在“工具”>“选项”>“调试”下清除“在需要时自动反向编译到源(仅限托管)”选项。
CPU 使用情况工具的新自动见解
CPU 使用情况工具现在为涉及某些方法和属性的方案提供其他见解和详细信息,例如 Enum.HasFlag、Enum.ToString、String.StartsWith、String(char[])、ConcurrentDictionary.Count、ConcurrentDictionary.Keys/Values 和 DateTime.Now。
此外,现在还有一个使用 Copilot 聊天扩展的“询问 Copilot”选项。 触发后,Copilot 聊天将解释问题发生的原因并提出修复建议。
C++ 和游戏开发
适用于 C++ 的 Unreal Engine 宏格式设置
Visual Studio 将检测并遵循 Unreal Engine 反射宏的缩进和格式规则。 若要启用特定于 Unreal Engine 的格式设置,请在“选项”中搜索“Unreal Engine”,或转到“工具”>“选项”>“文本编辑器”>“C/C++”>“代码样式”>“格式设置”>“Unreal Engine”,然后勾选“为 Slate 声明性语法和 Unreal Engine 反射宏应用特殊格式”。
在 Visual Studio 中生成见解 (C++)
感谢你的反馈,我们非常高兴地宣布生成见解现已与 Visual Studio 2022 集成! 生成见解提供优化 C++ 生成时间时所需的重要信息。 单击解决方案或项目的按钮即可启动生成见解 .etl 跟踪捕获。 编译后,生成见解将创建一个诊断报告,使你能够查看昂贵的包含内容,并直接导航到头文件。 对于 Power User,可以从报表中打开 Windows 性能分析器。
Unreal Engine C++ 命名约定检查器
借助 Unreal Engine 命名约定检查器,Visual Studio 现在会在符号不符合 Unreal Engine 编码样式时提供提示。 将 .editorconfig 文件 添加到 Unreal Engine 项目后,Visual Studio 将在错误列表中显示命名约定警告,并在右键单击时提供快速修复选项。
改进了 Doxygen 重载分辨率
以前,当特定函数具有 Doxygen 注释时,除了紧跟在注释后面的重载之外,它不会显示在每个重载的“快速信息”中。 现在,我们允许在所有关联重载的“快速信息”中显示另一个重载中的文档。
Unreal Engine 蓝图查找所有引用
现在,可以使用新的“蓝图查找所有引用 ”在 Unreal Engine 蓝图中搜索 UFUNCTION
的引用。 若要开始,请右键单击带有 Blueprint 引用的符号。 然后,单击“查找所有 Blueprint 引用”以开始搜索。 需要 Unreal Engine 插件“Visual Studio 集成工具”的最新版本。
地址擦除器 continue_on_error 支持
我们已使用新 continue_on_error
模式扩展了地址擦除器支持。 此新运行时模式在应用运行时将诊断并报告隐藏的内存安全错误,且无误报。 使用设置 ASAN_OPTIONS=continue_on_error=1
输出 stdout
,或者使用设置 set ASAN_OPTIONS=continue_on_error=2
输出 stderr
。 有关更多详细信息,请参阅 AddressSanitizer continue_on_error。
包括清理
新增了“包含项清理”功能。 此功能提供了在检测到间接包含时添加直接包含的建议,并标识任何未使用的包含项。 在默认情况下,禁用此功能。 要启用此功能,请导航到“工具”>“选项”>“文本编辑器”>“C/C++”>“IntelliSense”,然后选择“启用 #包含项清理”。 有关此功能的详细信息,请参阅包含项清理博客文章。
使用 C++ 进行 Linux 和嵌入式开发
WSL 自动获取
WSL 的一键式下载现在可用于 Linux 和嵌入式工作负载。 打开可面向 Linux 的 CMake 项目时,将打开一个金色栏,用于单击并打开 WSL 安装过程。 默认情况下,将安装 Ubuntu 计算机。 此外,还可以随时导航到“项目 > 为我安装 WSL”打开该对话框。
远程文件资源管理器更新
我们已将搜索功能添加到远程文件资源管理器。 现在,你可以在顶部栏根据你在远程计算机中的位置搜索文件,然后右键单击以转到找到的任何文件的位置。 此外,我们还向工具栏添加了两个新按钮以改进远程文件资源管理器体验,一个用于转到主目录,另一个用于打开工具选项。
其他 C++ 更新
- 添加了对 CMakePresets.json 版本 6 的支持。 如需详细了解此版本中提供的功能,请参阅 CMake 文档。
- 已将 Visual Studio 随附的 LLVM 版本升级到版本 16。 如需了解此版本提供的功能,请参阅 LLVM 和 Clang 发行说明。
- 添加了用于溢出检测的新内部函数,例如
_add_overflow_i32
。 - 连接管理器 API 现已公开,用于以编程方式管理连接。
- 我们更改了 ASan 使用的链接模型。 所有这些设置现在都依赖于单个 DLL:
clang_rt.asan_dynamic-<arch>.dll
,而不是每个运行时库设置(/MD
、/MT
、/MDd
、/MTd
)都有自己提供 ASan 运行时的方式。 这意味着加载链接到 C 运行时的二进制文件的程序将能够在 ASan 下运行,没有任何兼容性问题,且/MT(d)
DLL 不再需要使用 ASan 生成主机 EXE 就能运行。 请注意,这意味着/MT(d)
二进制文件现在还依赖于clang_rt.asan_dyanmic-<arch>.dll
存在于该程序的路径中,因此需要更新测试环境。 - 现在可以在宏上使用“可视化扩展”选项,分步查看嵌套宏的扩展。
Web 开发:
ASP.NET 项目中的 npm 依赖项管理
在利用 npm 包的 ASP.NET 项目中,Visual Studio 现在会在解决方案资源管理器的“依赖项”节点中显示 package.json 中的这些包。 现在,你可以在一个位置清晰地看到 .NET 的所有解决方案依赖项,包括引用、NuGet 包以及新增的 npm 包。 右键单击 npm 节点,可以添加新包或还原 (npm install) 所有包。
可以使用该 UI 搜索并选择要添加的包。
可以通过右键单击特定包来更新或卸载它。
支持 Vite for React 和 Vue 新项目创建
在 宣布 Visual Studio 中 JavaScript/TypeScript 和 .NET 组合项目模板时,我们收到了社区反馈,即 create-react-app 和 vue cli 已不再是创建新应用程序的首选方式。 我们现在会利用 Vite 为 Visual Studio 中的 JavaScript 和 TypeScript 项目模板创建 React 和 Vue 新项目。 项目生成和运行也将受益于 Vite,例如可实现更快的服务器启动和更新。
此更改还提高了流程的性能,从而可以更快地创建这些类型的项目。 它还解决了计算机上未安装必要的依赖项时出现的创建失败问题。
HTTP 编辑器
- 我们更新了 HTTP 编辑器,增加了新的响应视图。 新的响应视图支持突出显示 JSON 以及查看以下内容的功能:原始响应、请求的标头以及发送到 Web 服务器时的请求。
- 用于发送请求的绿色播放按钮已替换为代码透镜操作。
Power Platform 连接服务
- 我们增加了对 Microsoft Power Platform 连接服务的支持。
- 可以在 Power Platform 环境中创建自定义连接器,并创建开发隧道以在本地测试和调试 Web API 项目。
F#
- 添加了内联返回类型提示:
因为它们处于预览状态,并且默认处于禁用状态。 通过“工具”->“选项”->“文本编辑器”->“F#”->“高级”->“显示返回类型提示”启用它们
- 添加了新的批量代码修复:
请参阅 #15082 中这些代码修复的完整列表
- 解决了使用多行参数时参数名称提示崩溃的问题
- 添加了用于自定义快速信息描述宽度的选项:“工具”->“选项”->“文本编辑器”->“F#”->“快速信息”->“首选描述宽度(以字符为单位)”。 在 #14964 中查看更多详细信息
- 将活动日志合并到输出窗格(有关详细信息,请参阅 #15028)
- 修复了删除未使用的打开的批量代码修复
- 提高了快速信息链接导航的速度
- 添加了对具有多个美元符号的新内插字符串语法的支持(详细信息和 RFC):
- 引入了内联提示的工具提示:
A–类型提示:
B–参数名称提示:
SSDT (SQL)
支持 SSDT 中的无服务器 SQL 池
我们将提供将数据库从无服务器 SQL 池导入 SSDT 的功能。 可以通过导入常规数据库的相同进程来完成此操作。
用户还可以在无服务器 SQL 池中发布全新的项目。 需要将目标平台设置为 SQL 无服务器
可以对这些表执行架构比较、数据比较、添加外部表等常规 SSDT 操作。
- 修复了使用 Azure Interactive Dir 向 Azure 调试器发布的问题。
- 目标平台中
SQL Serverless
的命名法已更改为Azure Synapse Analytics Serverless SQL Pool
。
安装和更新
回滚
Visual Studio 支持返回到以前安装的版本。 回退会使 Visual Studio 返回到上次应用更新之前安装的版本,但将保留自上次更新以来对所选组件进行的任何修改。 将还原常见的同步设置,例如主题、字体、键绑定和窗口布局。 同样,你的漫游设置将始终还原。 此功能的最新新增内容是,现在仅当回退到版本 17.7 预览版 3 或更高版本时,才会还原本地自定义项,例如用户设置。 有关详细信息,请访问回退博客文章。
企业版管理和获取
标准用户能够更新和修改 Visual Studio
该版本包含一项新功能,可帮助企业遵守安全最佳实践,同时使开发人员能够更新和修改其开发环境。 管理员现在可以将安装程序功能委托给标准用户。 因此,如果管理员遵循安全最佳实践并限制用户权限,那么现在可以授予标准用户对安装程序功能的访问权限,从而允许开发人员更新和修改产品。
若要启用此配置,管理员需要在客户端计算机上执行两个简单的步骤:安装最新的 17.7 安装程序,并设置新的全局策略。
- 可以通过更新产品来获取客户端计算机上的最新安装程序。
- 设置全局策略“AllowStandardUserControl”REG_DWORD。
- 值为 1 仅允许更新和回滚。
- 值为 2 可启用所有安装程序功能,包括从“可用”选项卡进行修改和安装。
此功能适用于 Visual Studio 2017 及更高版本的所有版本。
许多企业用户请求了此功能,我们希望我们的解决方案能够满足你的需求。 请试用一下,然后告诉我们你的想法!
Microsoft 365 开发
Microsoft Teams 开发工具(Teams 工具包)
我们已在 17.6 预览频道中全面测试了预览功能,现在 17.7 正式版将正式推出这些预览功能。 包括:
- Teams 工具包更新了 Teams 应用模板项目结构,使其对开发人员更加透明和灵活。
- 在新项目中,我们推出了一个新的配置文件
teamsapp.yml
,用户可以在其中看到,当触发生命周期命令(如调试、预配和部署等)时,Teams 工具包在后台执行了哪些操作。 用户可以清楚地看到 Teams 工具包正在执行的操作,并且可以通过编辑 yml 文件来自定义操作以更改 Teams 工具包行为。 - 现在可以使用 VS 本机开发隧道功能为 Teams 应用创建隧道服务。 NgRok 不再是为 Teams 项目创建隧道的唯一方法。
- TeamsFx .NET SDK 更新
- 支持获取在通知机器人中安装了机器人的目标的分页列表。
- 支持获取通知机器人中一对一、组或团队对话成员的分页列表。
- 此版本中提供了简化的 Teams Tab 应用模板。
- 一些 bug 修复和 UI 改进,以确保在 Teams 工具包上提供更好的用户体验