C# 如何使用特定的nuget包目标?
我有一个.NETFramework4.7.2项目,它需要引用一个nuget包,该包的目标是NETFramework4.5.2和NETStandard2.0。该项目还引用了其他net framework项目,因此我还不能将该项目重新定位到net标准 我正试图从net472项目中引用和2.1.1。C# 如何使用特定的nuget包目标?,c#,.net,nuget,C#,.net,Nuget,我有一个.NETFramework4.7.2项目,它需要引用一个nuget包,该包的目标是NETFramework4.5.2和NETStandard2.0。该项目还引用了其他net framework项目,因此我还不能将该项目重新定位到net标准 我正试图从net472项目中引用和2.1.1。Microsoft.Diagnostics.EventFlow.Core的net452版本有一个限制Microsoft.Extensions.Configuration.Abstractions(>=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版本
如何选择要使用的包的目标?使用packages.config
时有一个targetFramework
属性,但我不知道如何使用PackageReference
因为该包既有net452又有netstandard2.0资产,而且您的目标是net472,最接近的资产是net452资产
你可以看到这个
如果要使用netstandard2.0资产,最简单的方法是通过dll引用直接引用netstandard2.0资产。使用NuGet无法做到这一点。NuGet将使用与项目目标框架匹配的程序集。您必须直接引用netstandard程序集,而不是使用NuGet—如果使用PackageReference,这可能不会有帮助。您有关于的更多信息吗?由于该软件包的net framework版本的依赖性限制,我需要使用net标准版本?谢谢,我已经更新了我的问题。谢谢,我将向软件包作者提出这个问题,看看他们是否可以只添加一个net47目标,并在其中一个dotnet GitHub存储库上添加,看看是否有比直接引用特定DLL更好的解决方案。