虽然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的升级路径,但尚未找到。
kyxcudwk1#
从.Net 6开始,Xamarin native API已更名为.Net for (Platform name)。如果你只针对一个平台,你不需要毛伊岛;你所需要的就是最新的.Net,在这个平台上。
Xamarin native
.Net for (Platform name)
**关键的决定是你是否会写“MacOS UI”,或“Maui UI”,或“iOS/MacCatalyst UI”。答案1:.Net Mac(又名.Net for Mac):仅适用于MacOS
.Net Mac
.Net for Mac
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
注意: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代码将被重新处理到该文件夹中的“自定义处理程序”中。
Xamarin.Forms
Xamarin.Mac
iOS/MacCatalyst
Mac Catalyst
Platforms/iOS
答案#3:.Net iOS:通过Mac Catalyst支持Mac
.Net iOS
第三种方法是通过开发iOS应用程序并通过Mac Catalyst在Mac上运行这些应用程序来支持所有Apple设备。这听起来很像#2。不同之处在于,您使用的是特定于iOS的UI类,并使用XCode来开发iOS故事板。这种方法在文档和工具方面似乎有点落后。目前,除非有新的文档和示例出现,否则我会做#2,但更多地使用Platforms/iOS目录(如果你只关心Apple平台,那么对跨平台UI的依赖性较小)。(也可以有一个iOSMacCatalyst目录。在.csproj文件中需要一些自定义行。)
iOSMacCatalyst
.csproj
1条答案
按热度按时间kyxcudwk1#
从.Net 6开始,
Xamarin native
API已更名为.Net for (Platform name)
。如果你只针对一个平台,你不需要毛伊岛;你所需要的就是最新的.Net,在这个平台上。
**关键的决定是你是否会写“MacOS UI”,或“Maui UI”,或“iOS/MacCatalyst UI”。
答案1:
.Net Mac
(又名.Net for Mac
):仅适用于MacOSUpgrade 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
文件中需要一些自定义行。)