【问题标题】:Package Class Library for multiple targets including .NET Core为包括 .NET Core 在内的多个目标打包类库
【发布时间】:2016-07-06 15:41:39
【问题描述】:

我有一个以.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

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

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

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

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

我仍然使用 nuget 进行打包吗?

谢谢。

【问题讨论】:

    标签: .net nuget coreclr


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      我发现netstandard1.6的target不能被net45消耗,所以我也添加了一个单独的net45 target。

      这是 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 } }

      【讨论】:

        猜你喜欢
        • 2018-05-06
        • 1970-01-01
        • 2020-08-15
        • 2022-11-01
        • 2017-09-15
        • 2018-05-21
        • 2017-02-24
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多