是否有从Xamarin for Mac到.NET MAUI的升级路径?

bttbmeg0  于 2023-08-01  发布在  Mac
关注(0)|答案(1)|浏览(206)

虽然Xamarin Forms应用程序到.NET MAUI的升级路径有记录,但Xamarin for Mac似乎并非如此,对Xamarin的支持将于2024年5月结束。那么,Xamarin for Mac桌面应用程序是否需要从头开始重新开发?我看不出有什么方法可以将C#/link to XCode GUI开发方法转换为.NET MAUI。
已搜索Xamarin for Mac应用程序到.NET MAUI的升级路径,但尚未找到。

kyxcudwk

kyxcudwk1#

从.Net 6开始,Xamarin native API已更名为.Net for (Platform name)
如果你只针对一个平台,你不需要毛伊岛;你所需要的就是最新的.Net,在这个平台上。

**关键的决定是你是否会写“MacOS UI”,或“Maui UI”,或“iOS/MacCatalyst UI”。
答案1:.Net Mac(又名.Net for Mac):仅适用于MacOS

Upgrade Xamarin.Android, .., Xamarin.Mac to .Net
对于大多数应用程序,您不需要更改名称空间或进行其他重写。
为了简化升级过程,我们建议创建一个与Xamarin本机项目类型和名称相同的新.NET项目,然后复制您的代码。...
其他有用的链接:
Install .Net on macOS
Download .Net 7.0。开发时,选择一个MacOS“SDK”;与您正在开发的Mac CPU相对应的那个。

答案#2:Maui:跨平台UI,包括Mac

注意:Maui UI类似于Xamarin.Forms UI;**您的Xamarin.Mac UI必须重写。**这与任何其他Xamarin native平台代码相同。
Maui UI是跨平台的UI类,支持XAML。(完全可以用C#编写;下面是C#类,但大多数示例使用XAML。
因为它是跨平台UI,AFAIK,这种方法不支持Apple XCode/Storyboard/Nibs。
在Mac上运行Maui(跨平台UI)的唯一方法是使用iOS/MacCatalyst目标。
Mac Catalyst来自Apple,允许iOS应用程序在Mac上运行。
iOS API和MacOS API之间有很多兼容性。
但是,也有一些局限性;某些MacOS API无法从iOS/MacCatalyst访问。
特定于iOS的代码位于目录Platforms/iOS中。
大多数现有的Xamarin. MacUI代码将被重新处理到该文件夹中的“自定义处理程序”中。

答案#3:.Net iOS:通过Mac Catalyst支持Mac

第三种方法是通过开发iOS应用程序并通过Mac Catalyst在Mac上运行这些应用程序来支持所有Apple设备。
这听起来很像#2。不同之处在于,您使用的是特定于iOS的UI类,并使用XCode来开发iOS故事板。
这种方法在文档和工具方面似乎有点落后。
目前,除非有新的文档和示例出现,否则我会做#2,但更多地使用Platforms/iOS目录(如果你只关心Apple平台,那么对跨平台UI的依赖性较小)。(也可以有一个iOSMacCatalyst目录。在.csproj文件中需要一些自定义行。)

相关问题