.NET 库可用于 ASP.NET Core 1.0, Mono

.NET Library that can be used in ASP.NET Core 1.0, Mono

.NET Framework DLL 或跨 .NET Framework >=4.5、ASP .NET Core 1.1 和最新版本的 MONO Framework(在 RHEL 上)

我继承了 3 个不同的项目,我想将它们合并并维护一个更简单的源代码结构。这 3 个项目是由离开公司的 3 个不同团队开发的。一个是 Windows Forms(.NET Framework 4.5) 项目,另一个是 ASP.NET Core 1.0(带有 WebApi 和 Web 应用程序)和一个 Windows 服务(.NET Framework 4.6我目前 运行 在 Linux 上安装了 Mono)。这些项目之间有共同的代码文件,我想为所有这些项目维护一个单一的代码库。通用代码将是一堆对 REST 服务的异步调用(目前)。这个想法是让这个库在 Mono(on Linux)、.NET Framework 和 ASP.NET Core 之间共享。我的问题是:是否可以编写这样一个可以在不同项目类型之间共享并跨平台的库?

MONO 的兼容性网站支持异步调用(.net 4.5 及更高版本),我已经能够 运行 异步调用代码(在 Windows 平台上的 .NET Framework 4.6.1 中开发) RHEL 使用没有任何 issues/recompilation 的 Mono。我对 .NET Framework 和核心做了一些研究,发现 .NET Framework 和 ASP.NET Core 之间存在一些不兼容性。

将你的ASP.NET Core升级为.NET Core 2.1/2.2,将Winforms的目标设置为使用.NET Core 3.0 Preview 8,因为.NET Core 3.0支持Winforms。

然后将您的库定位为用于跨平台,以 .NET Standard 2.0 为主target/TFM。