包 X 与 netstandard2.0 不兼容

Package X is not compatible with netstandard2.0

我在 Visual Studio 2017 v15.3.1 中创建了一个 .NET Standard v2.0 项目,但我无法在其中安装 "Microsoft.EntityFrameworkCore 2.0.0" 包(通过 Nuget 4.3)。之前安装了 .NET SDK 和运行时,均为 2.0.0。

我得到的错误遵循以下模式: "Package X is not compatible with netstandard2.0 (.NETStandard,Version=v2.0)."(即 System.Reflection.TypeExtensions 4.1.0)。

可能是什么导致了这些错误?

编辑:我将通过示例显示确切的警告和错误(太多了)。

正在恢复 [.csproj 路径] 的包...

警告:

包 "System.Collections 4.3.0" 已使用“.NETFramework,Version=v4.6.1”项目目标框架“.NETStandard,Version=v2.0”恢复。这可能会导致兼容性问题。

...

错误:

程序包Remotion.Linq 2.1.1 与 netstandard2.0 (.NETStandard,Version=v2.0) 不兼容。包 Remotion.Linq 2.1.1 支持:

...

恢复包时出错。恢复 'ClassLibrary1'.

的包更改

已用时间:00:00:02.4689637

==========结束==========

问题已解决,为每个显示错误的软件包依赖项独立安装更新版本,以便最终安装大软件包 "Microsoft.EntityFrameworkCore 2.0.0"。

希望对您有所帮助。

已编辑:我又遇到过一次并尝试了更快的解决方案。关键是从包的管理器配置中删除 Nuget 的缓存。

单击 "Clear all Nuget Caches" 将解决问题。