【问题标题】:Will .Net MAUI be comptabile with .NET Standard 2.0?.Net MAUI 会与 .NET Standard 2.0 兼容吗?
【发布时间】:2021-11-16 20:55:06
【问题描述】:

我们目前刚刚开始在 .NET Standard 中编写类库,因此我们可以将其用于 WPF、Winforms 和 .Net Core 与 Ubuntu Server(但随后没有 GUI)。 .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

【问题讨论】:

  • 据我所知,MAUI 将在 .NET 6 上运行——这意味着它可以使用 .NET Standard 2.0 库。每个 Web 框架和每个 GUI 框架都不需要单独的兼容性线。哦,.NET 5确实支持 WinForms 和 WPF,但仅在 Windows 上。
  • .NET MAUI 是一个框架,而不是运行时。运行时是 .NET 6。除非您打算以 .NET Framework 4.x 为目标,否则您应该更喜欢 .NET Standard 2.1。
  • 另请注意,在devblogs.microsoft.com/dotnet/update-on-dotnet-maui 中,它谈论的是“适用于 Windows、macOS、iOS 和 Android 的本机客户端应用程序”——而不是 Linux。因此,我不确定 Ubuntu Server 会给您带来什么影响。

标签: c# class-library .net-standard-2.0 maui


【解决方案1】:

我的问题是,.NET MAUI 会与 .NET Standard 2.0 类库兼容吗?

是的,因为正如 cmets 中提到的,.NET MAUI 只是一个库。您不用 MAUI 编译,而是使用 .NET 6。
从 2.0 开始的所有 .NET Core 版本都可以引用 .NET Standard 2.0 库,而且由于 .NET 6 只是对 .NET Core 5 的重命名,这当然是可能的。

然而,问题就在这里:

我们目前刚刚开始在 .NET Standard 中编写类库,因此我们可以将其用于 WPF、Winforms 和 .Net Core 以及 Ubuntu Server。 .Net 5 不支持 Winforms 或 WPF。

您不能在 Linux/MacOS 中使用 WPF 或 Winforms。您也不能在 Linux 中使用 .NET MAUI,因为该环境(当前)没有目标。支持的桌面环境与 Xamarin 相同:Windows 和 MacOS。

请注意,here 提到正在考虑为 .NET 7 提供对 Linux 的支持,该版本应该会在一年左右发布。

【讨论】:

  • 感谢您的解释。我们不想为 Ubuntu Server 使用 GUI,因为只有 CLI。但是如果可能的话,我们想编写我们的无 gui 类库跨平台。例如,.Net 5 不适用于 .Net Framework 4.6.2 上的 WPF / Winforms,这就是我们使用 .Net Standard 2.0 的原因
  • @Michiel 但是... MAUI 是一个 UI 库。如果你不想要 UI,你可以使用控制台应用程序,它可以在任何 .NET Core 版本的 Ubuntu Server 上运行
  • 我知道,但我们确实需要一个用于我们的 Windows / Android / iOS 应用程序的 GUI,如果它得到支持,可能是 MacOS 和 Linux。所以编写我们可以重用的非gui代码是我所追求的。这就是我用 .Net Standard 2.0 atm 编写的原因
  • @Michiel 那......没有意义。您可以在任何 .NET Core 版本(包括 .NET 5/.NET 6)中编写非 UI 代码,它可以在 Linux 中运行。将自己限制在过时的 .NET Standard 2.0 中没有任何好处
猜你喜欢
  • 1970-01-01
  • 2023-03-16
  • 1970-01-01
  • 1970-01-01
  • 2023-02-01
  • 1970-01-01
  • 2023-03-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多