C# 将多个项目打包到单个NuGet包中

C# 将多个项目打包到单个NuGet包中,c#,nuget,nuget-spec,.net-standard,C#,Nuget,Nuget Spec,.net Standard,我正试着把我的头绕在NuGet软件包系统上。最近,我为NuGet发布了一个类库,只针对.NETFramework4.5.2,但根据需要,我决定创建一个新的类库,针对.Netstandard1.4 这就是我迷路的地方。我是否可以在一个NuGet包中针对多个框架,假设有两个不同的项目 删除.NETFramework4.5.2项目并用.netstandard1.4项目替换它对我来说有意义吗?代码是100%相同的 是否有任何建议或最佳实践可用于浏览此类场景?如果需要支持.NET Framework 4.

我正试着把我的头绕在NuGet软件包系统上。最近,我为NuGet发布了一个类库,只针对.NETFramework4.5.2,但根据需要,我决定创建一个新的类库,针对.Netstandard1.4

这就是我迷路的地方。我是否可以在一个NuGet包中针对多个框架,假设有两个不同的项目

删除.NETFramework4.5.2项目并用.netstandard1.4项目替换它对我来说有意义吗?代码是100%相同的


是否有任何建议或最佳实践可用于浏览此类场景?

如果需要支持.NET Framework 4.5.2,则需要按照将.NET Standard 1.4软件包的版本降低到1.2,因为.NET Standard 1.4软件包只能在.NET Framework 4.6.1+上使用

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

您可以通过将.NET标准项目从

<TargetFramework>netstandard1.4</TargetFramework>
netstandard1.4

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

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