首页 文章

.NET Standard 2.0 NuGet包生成

提问于
浏览
3

我正在使用针对多个.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 没有依赖关系 .

Screenshot1

Screenshot2

难道不应该将 NETStandard.Library 2.0.0 作为依赖吗?

如果有必要(至少在VS发布更新之前),在NuGet包中为 NETStandard.Library 2.0.0 明确指定了依赖关系?

为了确保它不是我的项目的孤立案例,我创建了另一个项目并添加了Newtonsoft.Json作为依赖项 . 结果仍然相同 .

Screenshot3

1 回答

  • 5

    发布.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" .

相关问题