我们在六个月前向您介绍了 .NET 多平台应用程序 UI (MAUI),现在我们很高兴地宣布 .NET MAUI 在我们的下一个主要版本 .NET 7 中普遍可用。在此短的时间范围内,我们在 .NET MAUI 中的主要工作是解决您的主要反馈报告、改进 CollectionView 的性能,并引入了桌面功能,我们将您的范围从移动设备扩展到桌面设备。此版本随 Visual Studio 17.4一起发布,第一个 .NET MAUI 功能已在 Mac 上从预览版升级到稳定版。
.NET MAUI 对 .NET 7的支持到2024年5月。这包括与 .NET MAUI 对 .NET 6的6个月重叠,直到2023年5月。.NET MAUI 支持包括 .NET MAUI 框架以及适用于 Android、CarPlay、iOS、macOS、Mac Catalyst 和 tvOS 的 .NET SDK。
.NET MAUI 7主题
此版本解决了最重要的反馈问题,并为桌面开发人员引入了新功能。您的首要反馈主题是强烈希望看到工具包本身的质量得到提高。为此,此版本包含对 UI 控件和布局基础的大量修复。
以下是其他一些亮点:
地图控制
在此版本中,我们从 Xamarin.Forms 发布了更新的 .NET MAUI 地图控件。与我们的其他 UI 控件一样,这是每个平台提供的本机地图控件的跨平台抽象。地图支持图钉、自定义图钉、绘制多边形、折线和圆、地理编码和地理定位,还可以在您运行的设备上启动本地地图应用程序。
移动渲染性能
在短短 6 个月后,.NET 7 的 .NET MAUI 甚至比 .NET 6 更快。我们优化了基础视图的渲染路径,修复了几个影响 CollectionView 列表控件滚动流畅度的问题。
桌面增强功能
我们一直在与使用 .NET MAUI 构建桌面应用程序的公司密切合作,并且能够根据他们的用例包括一些增强功能,包括:窗口大小和位置、上下文菜单、工具提示、指针悬停手势、右键点击。
更多
这些只是亮点。
我们要感谢所有通过问题报告、pull request 和反馈为这个版本做出贡献的人。谢谢!
您会在我们的发行说明、文档和示例中发现更多信息。
- 发行说明
兼容性说明
.NET MAUI 7 兼容:
-
安卓 API 33
-
Tizen 7.0
-
Xcode 14.0.1 (iOS 16)
-
WinUI 1.1.5
Xcode 14.1 是在我们最后的 QA 周期中发布的,因此我们将在即将发布的服务版本中添加 .NET 支持。要立即使用 Xcode 14.1,您可以从我们的公共 build pipeline 里访问 builds。
开始
通过安装 Visual Studio 17.4获取 .NET MAUI 和 .NET 7。创建新的 .NET MAUI 或 .NET 客户端应用程序(Android、iOS、macOS、tvOS)时,请从框架选择器中选择 .NET 7。
从 .NET 6 升级
要将您的项目从 .NET 6升级到 .NET 7,请打开您的 csproj 文件并将目标框架名字对象 (TFM) 从6更改为7。
前:
<TargetFrameworks>net6.0-ios;net6.0-android;net6.0-maccatalyst;net6.0-tizen</TargetFrameworks>
<TargetFrameworks Condition="$([MSBuild]::IsOSPlatform('windows')) and '$(MSBuildRuntimeType)' == 'Full'">$(TargetFrameworks);net6.0-windows10.0.19041</TargetFrameworks>
后:
<TargetFrameworks>net7.0-ios;net7.0-android;net7.0-maccatalyst;net7.0-tizen</TargetFrameworks>
<TargetFrameworks Condition="$([MSBuild]::IsOSPlatform('windows')) and '$(MSBuildRuntimeType)' == 'Full'">$(TargetFrameworks);net7.0-windows10.0.19041</TargetFrameworks>
反馈
我们会根据您的意见指导我们对 .NET MAUI 的支持。请多多给予我们反馈。
1. 在 GitHub 上的 dotnet/maui 存储库中提交新的 SDK 问题
2. 添加对您也受到影响的现有问题的反应
3. 使用 Visual Studio 反馈选项提交与编辑、智能感知、调试、热重载、热重启、远程 mac 等相关的问题。