所以我有一个针对Net Core 2.1(特别是2.1.500)的项目
我也有一个global.json,里面也有2.1.500。
最近,Microsoft更新到了Net Core 2.2,但是我还不想迁移到那。
当我打开Nuget软件包管理器时,它告诉我某些更新可用
问题是所有这些软件包都适用于2.2 sdk,它完全忽略了我没有针对的事实。
这似乎是一个错误,因为在.Net Framework中,它不会建议目标sdk高于您所使用的sdk的软件包。
这是正确的吗?我应该向Net Core团队报告问题吗?
答案 0 :(得分:1)
该功能正确。这些库的目标是.NETStandard2.0
而不是.NET Core App 2.2
,这意味着与.NET Core
兼容的任何.NET Standard 2.0
应用都可以使用这些库,而不管它们使用的是.NET SDK
例如,在Visual Studio的EntityFramework.SqlServerCompact
窗口中查看Manage Nuget Packages
。它以.NETFramework,Version=v4.0
列出其依赖项,这意味着它将无法在.NET Core
或.NET Framework
的任何早期版本中使用。
此外,如果您尝试将EntityFramework.SqlServerCompact
软件包安装在.NET Core
中,则会在“错误列表”窗口中看到错误:
警告NU1701软件包'EntityFramework.SqlServerCompact 6.2.0'是 使用'.NETFramework,Version = v4.6.1'而非项目还原 目标框架'.NETCoreApp,Version = v2.1'。这个包裹可能不是 与您的项目完全兼容。