Мне нужно использовать библиотеку, которая еще не поддерживает CoreCLR (точнее, RabbitMQ.Client). Можно ли использовать моно-порт этой библиотеки в системе Linux из исполняемого файла CoreCLR? Если да, то как это достигается?
Использование моносборок из .NET CoreCLR
Ответы (1)
Это невозможно на двоичном уровне (если не используется правильный профиль PCL). В .NET Core используется другой подход к организации классов в сборках, поэтому некоторые сборки в .NET Framework для настольных компьютеров разбиваются на более мелкие сборки, а типы перемещаются. Сборка для настольных компьютеров (из .NET или Mono) не будет работать в .NET Core из-за таких изменений.
Но это, очевидно, возможно на уровне исходного кода, так как была попытка портировать WinForms от Mono на .NET Core,
http://forums.dotnetfoundation.org/t/anyone-porting-winforms-mono-to-net-core/898/4
После создания нового проекта библиотеки .NET Core исходные файлы должны иметь возможность переноса (с некоторыми изменениями или даже без них).
Однако .NET Core развивается слишком быстро, и эта попытка может уже устареть. Любой, кто хотел бы исследовать эту область, может последовать этому примеру и попробовать еще раз. Удачи.