如何使用特定的nuget包目标?

时间:2018-08-10 13:48:40

标签: c# .net nuget

我有一个.net framework 4.7.2项目,该项目需要引用一个nuget包,该包的目标是net框架4.5.2和net标准2.0。该项目还引用了其他.net框架项目,所以我不能仅仅将项目重新定位为.net标准。

我正在尝试从net472项目中引用Microsoft.Diagnostics.EventFlow.CoreMicrosoft.Extensions.Configuration 2.1.1。 Microsoft.Diagnostics.EventFlow.Core的net452版本的限制为Microsoft.Extensions.Configuration.Abstractions (>= 1.1.1 && < 2.0.0),而netstandard2.0版本的限制为Microsoft.Extensions.Configuration.Abstractions (>= 2.0.1)

由于此依赖性限制,我需要使用netstandard版本。 net472应该能够同时使用net452和netstandard2.0软件包,但是当一个软件包同时面向net452和netstandard2.0软件包时,它希望默认使用net452版本。

如何选择要使用的包装目标?对于packages.config,有一个targetFramework属性,但我不知道该如何与PackageReference一起使用。

1 个答案:

答案 0 :(得分:2)

由于该软件包同时具有net452和netstandard2.0资产,并且您的目标是net472,因此最接近的资产是net452。

您可以看到此here

如果要使用netstandard2.0资产,最简单的选择是通过dll引用直接引用netstandard2.0资产。