支持多个目标框架的NuGet软件包的优先顺序

问题描述 投票:0回答:1

我有一个NuGet程序包,它支持多个目标框架net45netstandard2.0。目标框架(条件编译)的代码有所不同。

如果我从.NET Framework 4.6.1应用程序中引用此程序包,尽管它名义上与两者都兼容,但似乎选择了net45版本而不是netstandard2.0版本。

确定此选择的优先规则是什么?对于为更高版本的.NET Framework(4.7.2、4.8,...)构建的应用程序,选择是否相同?

.net nuget-package .net-standard
1个回答
0
投票

[如果库有这样的目标,它将选择最匹配的目标框架,该目标框架小于或等于您应用程序的目标框架。

如果不存在,它将降为网络标准目标(如果存在)。>

否则,该库不兼容。

令人沮丧的是,文档没有对此进行更详细的介绍,并且它们没有涵盖更复杂的场景(例如net461应用,引用netstandard2.0 libA,反过来引用多目标netstandard2.0,net461 libB-哪个框架已解决libB吗?)。对于那些您只需要尝试一下即可看到。

请参阅文档,例如herehere

© www.soinside.com 2019 - 2024. All rights reserved.