bri*_*ght 10 .net xamarin xamarin.forms .net-6.0 .net-maui
我有一个 Xamarin.iOS 解决方案,其中包括一个库项目和一个可执行文件。该解决方案不使用 Xamarin Forms,即它是所谓的“Xamarin Native”解决方案。
我想将其升级到 .net 6 解决方案。不幸的是,我看到的所有示例和文档都只解释了如何将 Xamarin Forms 解决方案升级到使用 MAUI 的 .net 6 解决方案(这是 Xamarin Forms 的演变)。
所以:
方法#1:
iOS Application (Preview)
查看 的可用类型VS projects,您可以执行以下操作:VS 2022 Preview / New Project / language=c#, platform=ios。滚动到列表底部附近,选择iOS Application (Preview)。然后在解决方案资源管理器中,右键单击项目/属性。结果针对您想要的“.NET 6.0”和“iOS”。
一看.csproj,就已经是意料之中了<TargetFramework>net6.0-ios</TargetFramework>。
您可以手动添加;net6.0-maccatalyst.
但:
Maui.Essentials. 我认为需要在应用程序启动过程中添加一些内容来初始化它。我目前不推荐方法#1 - 特别是因为您也希望以 Mac 为目标;您必须知道自己在做什么,才能以简化开发流程的方式组织一切。
除非有人能指出multi-platform net6在没有毛伊岛的情况下跑步的详细说明。
方法#2
Maui Application (Preview):. 然后删除所有不需要的内容(因为您没有使用 Maui UI)。
就我个人而言,我现在会这样做,让代码在 iOS 和 Mac 上运行。一旦你看到它起作用了,你就会积极地删除东西。
iOS修改和文件夹中的启动代码Mac。启动“本机”根视图控制器,而不是 maui 应用程序构建器。就像你今天在 中所做的那样Xamarin.iOS。您可以推迟删除 Maui UI 代码和引用,直到最终确定 Maui 版本。到时候multi-platform net6应该比较容易上手,不需要依赖Maui框架。
底线:感觉multi-platform net6没有被强调(短期),除了作为毛伊岛的一部分。尽管net6 on iOS(和其他平台)确实在代码库中独立存在。所以“顺其自然”,直到一切都稳固为止。