.Net MAUI是否兼容.NET Standard 2.0?

3
我们目前开始使用.NET标准编写类库,以便我们可以在WPF、Winforms和不带GUI的Ubuntu Server上使用它。但是,.NET 5不支持我们的.NET 4.6.x应用程序的Winforms或WPF。
我的问题是,.NET MAUI是否与.NET Standard 2.0类库兼容?
当我查看.NET Standard网站时,其说兼容.NET 6.0,但我找不到是否也适用于.NET MAUI框架。
链接:https://dotnet.microsoft.com/platform/dotnet-standard#versions

6
据我所知,MAUI将在.NET 6上运行 - 这意味着它可以使用.NET Standard 2.0库。对于每个Web框架和GUI框架都不需要单独的兼容性线路。哦,还有,.NET 5 确实支持WinForms和WPF,但仅限于Windows操作系统。 - Jon Skeet
2
.NET MAUI是一个框架,而不是运行时。运行时是.NET 6。除非您打算针对.NET Framework 4.x,否则应优先选择.NET Standard 2.1。 - Panagiotis Kanavos
请注意,在 https://devblogs.microsoft.com/dotnet/update-on-dotnet-maui/ 中提到了“针对 Windows、macOS、iOS 和 Android 的本机客户端应用程序”,但没有提及 Linux。因此,我不确定这对于 Ubuntu Server 来说意味着什么。 - Jon Skeet
1个回答

6
我的问题是,.NET MAUI是否与.NET Standard 2.0类库兼容?
是的,因为正如评论中提到的那样,.NET MAUI只是一个库。您不会使用MAUI编译,而是使用.NET 6进行编译。 从.NET Core 2.0开始,所有版本都可以引用.NET Standard 2.0库,由于.NET 6只是将原本应该是.NET Core 5的重命名,所以这肯定是可能的。
然而,问题在于:
我们目前刚开始编写.NET Standard的类库,以便我们可以在WPF、Winforms和使用Ubuntu服务器的.Net Core中使用。.Net 5不支持Winforms或WPF。
您无法在Linux/MacOS中使用WPF或Winforms。您也无法在Linux中使用.NET MAUI,因为当前没有针对该环境的目标。支持的桌面环境与Xamarin相同:Windows和MacOS。
请注意,这里提到正在考虑为.NET 7提供对Linux的支持,预计在一年左右发布。

1
感谢您的解释。我们不想在Ubuntu服务器上使用GUI,因为只有CLI。但是如果可能的话,我们希望编写跨平台的无GUI类库。例如,.Net 5在.Net Framework 4.6.2上无法与WPF / Winforms一起使用,因此我们转向了.Net Standard 2.0。 - Michiel
@Michiel 但是... MAUI 是一个 UI 库。如果您不需要 UI,您可以使用控制台应用程序,在 Ubuntu Server 上使用任何 .NET Core 版本。 - Camilo Terevinto
1
我知道,但是我们确实希望为我们的Windows/Android/iOS应用程序提供GUI,也许在MacOS和Linux得到支持时也可以。因此,编写可以重复使用的非GUI代码是我的目标。这就是为什么我现在使用.Net Standard 2.0编写的原因。 - Michiel
@Michiel 那...没有意义。你可以在任何 .NET Core 版本(包括 .NET 5/.NET 6)中编写非 UI 代码,并且它将在 Linux 中运行。限制自己使用过时的 .NET Standard 2.0 没有任何好处。 - Camilo Terevinto
1
@CamiloTerevinto,将你的类库放在.NET Standard 2.0中是有道理的,这样可以支持同时使用.NET Framework和.NET Core的项目。在大多数情况下,这比放弃DRY原则更有意义。通过维护一个共享逻辑的代码库来节省时间,这将使他有更多的时间来迁移旧的.NET Framework项目到.NET 5/6。 - Daniel P
错误,如果您正在为Android编译它,则是.NET 6-Android等。当广告宣传.NET MAUI可以做到.NET 6所能做的一切时,这只会让人感到困惑,因为它仅限于.NET 6-Android所能做的事情。 - user3625699

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接