【问题标题】:Package multiple project into a single NuGet Package将多个项目打包到一个 NuGet 包中
【发布时间】:2017-05-11 16:35:14
【问题描述】:

我正在尝试深入了解 NuGet 包系统。最近我发布了一个 NuGet 类库,仅针对 .NET Framework 4.5.2,但根据需要,我决定创建一个针对 .NETStandard 1.4 的新类库。

这就是我迷路的地方。我是否可以在一个 NuGet 包中定位多个框架,以拥有两个不同项目的情况?

删除 .NET Framework 4.5.2 项目并将其替换为我的 .NETStandard 1.4 项目是否有意义?代码 100% 相同。

有任何建议或最佳实践来应对这种情况吗?

【问题讨论】:

    标签: c# nuget nuget-spec .net-standard


    【解决方案1】:

    如果您需要支持 .NET Framework 4.5.2,则需要根据 compatibility matrix 将 .NET Standard 的版本降低到 1.2,因为 .NET Standard 1.4 包只能在 .NET Framework 4.6 上使用。 1+。

    如果您无法做到这一点,您可以多目标您的项目,以便为 .NET Standard .NET Framework 的版本构建同一个项目,并将其打包到同一个 NuGet 包中.引用该包的 .NET Framework 项目将优先使用 .NET Framework dll,而不是同一包中的 .NET Standard dll。

    您可以通过更改 .NET Standard 项目来做到这一点

    <TargetFramework>netstandard1.4</TargetFramework>
    

    <TargetFrameworks>net452;netstandard1.4</TargetFrameworks>
    

    通过将属性更改为 TargetFrameworks(复数),项目现在将被构建两次 - 每个指定框架一次。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-11-05
      • 2017-06-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-05
      • 1970-01-01
      相关资源
      最近更新 更多