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

标签 linux mono dnx .net-core 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 库项目,源文件应该能够被继承(有一些修改甚至没有)。

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

关于linux - 使用 .NET CoreCLR 中的单声道程序集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33532964/

相关文章:

将静态链接的 elf 二进制文件转换为动态链接的

macos - 在 MonoDevelop/Mac 的新项目中出现错误 : Framework 'Mono/.NET 4.0' not installed.

c# - 关于使用 C# 与 Hadoop 文件系统对话的问题

.net - 使用 dnx 和 Global.json 一次运行所有测试项目

.net - 如何修复 Visual Studio 2015 中的 DNX/DNVM?

linux - 需要将输出附加到文件

linux - 更新文件名最后一个字符的 Shell 脚本

linux - 如何使用sed提取数字

mobile - 用于 Android 开发的 Monotouch/Mono 的跨平台性如何?

docker - dnu 发布后的 ASP.Net VNext 在 linux 机器上不起作用