包含 .NET Core 在内的多个目标的包 Class 库

Package Class Library for multiple targets including .NET Core

我有一个简单的 class 库,它以 .NET 4.5 为目标并打包为 nuget package。这取决于 Reactive Extensions (2.2.5).

我想让它 .NET 与核心兼容并将其打包用于多个目标框架 (.NET Core, .NET 4.5, .NET 4.6)

我已将我的 Reactive Extensions nuget 依赖项升级到 3.0.0,并使用 API 端口我了解到我的代码现在 100% .NET Core 兼容.

现在我正在构建和打包我的 class 库,以便它可以被多个框架目标使用。
正确的方法是什么?
是否有关于此的已发布指南?

我是否需要在 VS2015 中创建一个新的 .NET Core Class 库,或者我是否可以在我的旧 .NET Framework Class 库中创建一个新的库?

我添加一个 project.json 并添加多个框架,就像这样吗?

  "frameworks": {
    "netcoreapp1.0": {
        "imports": "dnxcore50"
    },
    "net45": {}, 
    "net46":  {}
  }

我还用nuget打包吗?

谢谢。

推荐的方法是使用 netstandard 轻松定位多个框架。网络标准指南可用 here。为此,您需要有一个 NET Core 项目。这是面向未来的证明,并且比使用 PCL 配置文件更易于管理。

我创建了一个带有 netstandard1.6 目标的 nuget 包。 net461 应用程序和 netcoreapp1.0 应用程序都可以使用它。

我发现 netstandard1.6 目标不能被 net45 使用,所以我也添加了一个单独的 net45 目标。

这是 project.json。

{ "version": "1.0.0-*", "dependencies": { "NETStandard.Library": "1.6.0", "System.Reactive": "3.0.0" }, "frameworks": { "netstandard1.6": { "imports": "dnxcore50" }, "net45": {} }, "buildOptions": { "xmlDoc": true } }