我如何知道正在使用哪个版本的 .NET mono?

How do I know which version of .NET mono is using?

我的任务是在 linux.

上使用 mono/.NET 4.7.2 创建一个应用程序

我对 .NET Core 有一些经验,但我以前从未使用过单声道。所以我在 运行 Ubuntu 20.04 机器上安装了 mono 但我找不到它将使用的 dotnet 版本(因为我必须使用 4.7.2)。

  1. 它使用我现成的 .NET 5 吗?
  2. 如何检查 mono 将使用的 .NET 版本?
  3. 更重要的是,我如何强制使用特定的 4.7.2, 版本?

没有来自 mono --versioncsc 的信息。

Mono 是 .NET 的一个实现。

让我们重新表述一下:Mono 是一个 .NET 实现。它不使用外部 .NET 实现,它 .NET 实现。

Mono 不会使用 .NET Core 或 .NET 5。它们是 .NET 的独立实现和运行时。如果您想使用 .NET 5,请安装并使用 .NET 5。

查看 Mono releases 页面以获取有关 Mono 发行版本以及它们匹配的 .NET Framework 发行版本的信息。

例如,单声道5.18.0 added suppport for .NET Framework 4.7.2 and Mono 6.6.0 added support for .NET 4.8。但请注意,Mono 不会 100% 兼容。

听起来这可能是您第一次使用 Mono。如果是这样,请注意。 Mono 远非 100% 兼容 .NET Framework。存在缺失功能、错误、性能问题等。它适用于许多用例,但 Microsoft 并不真正支持它。