使用 .NET CoreCLR 中的单声道程序集

Using mono assemblies from the .NET CoreCLR

我需要使用尚不支持 CoreCLR 的库(RabbitMQ.Client,具体而言)。是否可以从 CoreCLR 可执行文件内部在 Linux 系统上使用该库的基于单声道的端口?如果是这样,那是如何实现的?

在二进制级别是不可能的(除非使用适当的 PCL 配置文件)。 .NET Core 使用不同的方法在程序集中排列 类,因此桌面 .NET Framework 上的一些程序集被分解成更小的程序集,并且类型被移动。由于此类更改,桌面目标程序集(来自 .NET 或 Mono)将无法在 .NET Core 上运行。

但在源代码级别显然是可能的,因为曾尝试将 Mono 的 WinForms 移植到 .NET Core,

http://forums.dotnetfoundation.org/t/anyone-porting-winforms-mono-to-net-core/898/4

一旦创建了一个新的.NET Core库项目,源文件应该可以被继承(经过一些修改甚至none)。

然而,.NET Core 的发展速度太快了,这种尝试现在可能已经过时了。任何想在这方面探索的人都可以仿效那个例子再试一次。祝你好运。