微软发布了 Visual Studio 2022 版本 17.0 预览版 1,为流行的 IDE 带来了 UI 改进、64 位支持等。最新版本的完整变更日志如下所示:
64 位
- devenv.exe 现在仅支持 64 位
智能代码
- 整线自动完成
.NET 6 SDK
- .NET 6 SDK(预览版)包含在 Visual Studio 2022 中
- 此版本对 .NET MAUI 项目提供基本支持。暂时您必须将 .NET MAUI 工作负载与 .NET 6 分开安装。有关 更多信息,请参阅 我们的 .NET Maui GitHub 存储库
Git工具
- 删除了恢复到团队资源管理器 Git UI 的功能,使 新的 Git 体验 成为唯一可用的内置工具。
- 从 Visual Studio 安装程序中删除了安装 GitHub 扩展的选项。
测试工具支持
- 从 17.0 开始的测试平台的新版本将无法运行通用测试和有序测试。这些特定功能仅作为 MSTestv1 早期版本的一部分提供,不包含在 MSTestv2 中。Microsoft 发现这些功能的使用率非常低,现在认为有序测试与最佳测试实践背道而驰。
- 一些测试体验在 17.0 Preview 1 中将不可用,包括创建新的 TestSettings 文件和 TestSettings 编辑器。测试运行仍将能够使用 TestSettings 文件,但是 TestSettings 已被 RunSettings 取代,Microsoft 鼓励用户迁移改进的性能和功能。 阅读更多。
- 编码 UI 测试 和 [Web 负载测试](基于云的负载测试服务生命周期结束 | Azure DevOps 博客 (microsoft.com))支持不会在 17.0 预览版 1 中提供,因为 Microsoft 仍在努力将这些体验移植到 Visual Studio 2022 . 微软确实计划在随后的预览版中支持它们,尽管微软强烈鼓励用户放弃编码 UI 测试和 Web 负载测试。这些技术已于 2019 年正式弃用,微软确实计划在微软可以最大限度地减少对用户的影响时将它们从产品中删除。
网络工具
- 发布摘要页面现在可以在“托管”部分右上角的“…”菜单下启动/停止远程调试和分析
- 连接服务页面现在有一个启动存储资源管理器的操作
- .NET 6 附带的“ASP.NET Core Empty”模板正在使用新的 “最小 API” 范式,Microsoft 已开始为其添加支持
可扩展性
- VS SDK 包含多项重大更改,Visual Studio 2019 扩展在 2022 年将不起作用。有关 详细信息,请参阅 VSSDK 文档。
- VS SDK 参考程序集不再安装到该
VSSDK\VisualStudioIntegration\Common\Assemblies
文件夹中。如果您的构建依赖于这些程序集,请迁移您的项目以改用 NuGet 包。对于离线场景:- 保留组织内 nuget 提要,从中恢复 nuget 包。
- 检查二进制文件。
用于 .NET Framework 的新 WPF XAML 设计器
用于 .NET Framework 的当前 WPF XAML 设计器已替换为用于 .NET Framework 的新 WPF XAML 设计器,该设计器基于用于 .NET (.NET Core) 的 WPF XAML 设计器相同的体系结构。
Visual Studio 体验看起来相同,但第三方控件供应商需要支持新的可扩展性模型,因为以前的模型基于 .design.dll
并 Microsoft.Windows.Design.Extensibility
已弃用。如果您已经.designtools.dll
为 .NET (.NET Core)创建了一个 扩展,那么相同的扩展将适用于 .NET Framework 的新 WPF XAML 设计器。
有关如何迁移到新的可扩展性模型的更多信息,请参阅下面的 迁移文档。
暂时删除的功能
在 Visual Studio 2022 的预览版 1 中,有几个功能尚未迁移到 64 位,并且尚未在预览版中。Microsoft 计划在未来的更新中包含这些功能,并且不会从 Visual Studio 中删除它们。
- 网络实时预览
- 仪表分析器
- Azure 云服务项目支持
- T-SQL 调试器
- Web 负载测试和 TestController/TestAgent
- Azure 数据湖
- 编码的 UI 测试
- 点模糊器
- Incredibuild IDE 集成
- IntelliCode 按示例查找和替换
此版本中解决的问题
来自开发者社区
- 诊断工具窗口加载微型,并且不会正确调整大小。
- 在 MSVC 16.9 预览版 2 上尝试使用抛出析构函数在类上调用 make_shared 时出现编译器错误 2694。
- 处理快照时出错,无法处理托管堆。
- MSVC 允许在 new 表达式中默认初始化 const int。
- 在“复杂”STL 标头中收到警告 C5219。
- 工具提示阻止搜索结果。
- Visual Studio 给出了一个奇怪的异常。
- 英特尔 C++ 编译器 ICL 编译失败,因为头文件中概念的使用不受 ifdef __cpp_lib_concepts 保护。
- 使用 /Zc:preprocessor 扩展 __pragma(optimize) 时出现内部编译器错误。
- 在未计算的上下文中,lambda 中的“ func ”类型不正确。
- 提供 vsconfig 时,Visual Studio 安装程序崩溃。
- 通过向导添加新对话框类后,获取构建错误默认模板 MFC dll 项目。
- 用于本机桌面开发 C++ 的 Visual Studio 离线安装无法正常工作。
- 通过 Visual Studio 连接到 Azure VSTS 项目会导致 UI 停止响应。
- 如果使用较大的字体,则选项中的文本框将不可读。
- Visual Studio 在文件夹中添加新项目停止响应。
- 编辑 js/cshtml 文件时经常出现 Nullreference 异常。
- 激活远程语言服务器 C#/Visual Basic 语言服务器客户端时出错。
- 当 /E 与 /experimental:preprocessor 和 __pragma 一起使用时,会出现内部错误。
已知的问题
通过在解决方案资源管理器中右键单击向 TFVC 源代码管理添加解决方案会导致 VS 崩溃
按照链接查看 Visual Studio 2022 中所有未解决的问题和可用的解决方法。已知的问题