答案1
原因与 .NET 完全无关;您通常无法在 Mac 上运行为 Windows 构建的任何可执行文件。一个主要问题可能是 CPU 架构的差异,但即使两个系统是相同的架构,可执行二进制文件也无法在两个操作系统上以相同的方式运行。
如果可执行文件是为具有 x86 CPU 的 Windows 构建的,那么仍然可以在具有 x86 CPU 的 Mac 上运行它葡萄酒。 (考虑到苹果现在正在发布搭载 ARM CPU 的 Mac,这可能不再是一个长期的解决方案..)
Wine 能够打开可执行文件,如果是 .NET Framework 应用程序,它将查找为其构建的 .NET Framework 运行时。Wine 使用 Mono 来替代该 .NET Framework 运行时,因为 Mono 被构建为 .NET Framework 的直接替代品,可在 Windows 以外的更多平台上运行。
.NET Core 是与 .NET Framework 完全不同的运行时,不会运行已为 .NET Framework 构建的应用程序。
.NET 核心能通过从源代码重建应用程序以使其以 .NET Core 为目标,支持最初为 .NET Framework 编写的应用程序。它通常需要进行一些更改以适应两个运行时的不同 API。