我正在使用针对多个.NET框架的.NET类库项目,现在在我的Windows 10机器中下载了 .NET Core 2.0 SDK 后,我也试图将目标设为 .NET Standard 2.0
.
<TargetFrameworks>net45;net46;netstandard1.0;netstandard1.3;netstandard2.0</TargetFrameworks>
问题是当编译后由Visual Studio(2017)生成的 NuGet 包通过 NuGet Package Explorer 打开时,它表明对于 .NET Standard 2.0
没有依赖关系 .
难道不应该将 NETStandard.Library 2.0.0 作为依赖吗?
如果有必要(至少在VS发布更新之前),在NuGet包中为 NETStandard.Library 2.0.0 明确指定了依赖关系?
为了确保它不是我的项目的孤立案例,我创建了另一个项目并添加了Newtonsoft.Json作为依赖项 . 结果仍然相同 .
1 回答
发布.NET Standard版本低于2.0时,默认
NETStandard.Library
版本仍为1.6.1
. 虽然2.0.0
版本在技术上是相同的(它具有相同的旧版.NET标准版本的依赖项列表),但是您可能会因为使用引用版本1.6.1
的项目而创建降级警告 .对于.NET Standard 2.0及更高版本,不需要依赖
NETStandard.Library
,因此只要您不添加任何其他NuGet包,您的库就会显示"No Dependencies" .