用于多个目标的包类库,包括.NET Core

时间:2016-07-06 15:41:39

标签: .net nuget coreclr

我有一个针对.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兼容。

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

我是否需要在VS2015中创建新的.NET Core类库,或者我可以在旧的.NET Framework类库中执行此操作吗?

我是否添加了一个project.json并添加了多个框架,比如这个?

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

我还在使用nuget进行包装吗?

感谢。

2 个答案:

答案 0 :(得分:0)

推荐的方法是使用netstandard轻松地定位多个框架。有关netstandard的指导可用here。为此,您需要拥有一个.NET Core项目。这是未来的证明,比使用PCL配置文件更容易管理。

答案 1 :(得分:0)

我创建了一个带有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 } }