我也有同样的疑问,虽然我没有直接回答你的问题,但是我找到了以下内容。
这是我的总结:
NuGet 是一个开源的软件包管理系统,简化了将库集成到项目中的过程。
SDK 可以(并且可能应该)具有文档、教程、调试帮助以及 API 和/或代码库。即平台和/或语言特定。请参见什么是 SDK。
在 Visual Studio Docs 上的NuGet与SDK作为项目引用页面上,有一个表格比较和对比这两者。它变得比我能理解的更技术化了,但是它给了我一个大致的方向,对我的解决方案来说是正确的方向。SDK
部分被称为 Shared Framework
,并在 Dotnet Core 2.1
中引入。您可以删除重复的 nuget 并使用来自 SDK 的相同功能,或者通过直接引用 nuget 包来覆盖 SDK 包版本。
有关更多信息和历史记录,请查看 Andrew Lock 的这篇精彩文章:在 ASP.NET Core 2.1(预览版 1)中探索 Microsoft.AspNetCore.App 共享框架