首页 文章

将多个项目打包到一个NuGet包中

提问于
浏览
0

我试图围绕NuGet包系统 . 最近我发布了一个NuGet的类库,仅针对.NET Framework 4.5.2,但是根据需要,我决定创建一个面向.NETStandard 1.4的新类库 .

这是我迷路的地方 . 我可以在一个NuGet包中定位多个框架,这个场景有两个不同的项目吗?

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

在这种情况下导航的任何建议或最佳实践?

1 回答

  • 0

    如果需要支持.NET Framework 4.5.2,则需要根据compatibility matrix将.NET Standard版本降低到1.2,因为.NET Standard 1.4程序包只能在.NET Framework 4.6.1上使用 .

    如果您无法做到这一点,则可以对项目进行多目标定位,以便为.NET Standard and .NET Framework版本构建相同的项目,并将其打包到同一个NuGet包中 . 引用该包的.NET Framework项目将优先于同一包中的.NET Standard dll上的.NET Framework dll .

    您可以通过更改.NET Standard项目来完成此操作

    <TargetFramework>netstandard1.4</TargetFramework>
    

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

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

相关问题