在 Visual Studio / msbuild 中编译的二进制文件是否在 Linux 中的 Mono 下 100% 兼容?

Are binaries compiled in Visual Studio / msbuild 100% compatible under Mono in Linux?

在 Windows 操作系统上使用 Visual Studio 或 msbuild 编译的二进制文件是否与 Linux 中 Mono 下的 运行 100% 兼容?例如,我可以在 Visual Studio 中编译二进制文件还是在 Windows 中编译二进制文件,然后将其打包以在 Linux 中使用,或者我是否需要在 [=21] 中使用 mono 构建二进制文件=]操作系统才能保证完全兼容?

具体来说,我需要知道 Visual Studio 2019 年生成的二进制文件是否在 Linux 下使用 Mono 5.10

100% 兼容

在许多情况下,您在 Windows 上构建的二进制文件在 Linux 上的 Mono 或 .NET Core 下可以正常工作。尽管 .NET Core 将更加完善,但许多接口都适用于两者。

但是,唯一确定的方法就是测试。即使您生成了完美的二进制文件并且 Mono 支持每个 API 调用,您仍然可以使用其中包含反斜杠的路径,Linux 将不支持。你不会知道,除非你 运行 你的测试套件 Linux 与你想要的解释器。这是一个合适的 CI 设置可以提供帮助的地方,因为它可以让你 运行 自动进行大部分测试。