包X与netstandard2.0不兼容

时间:2017-08-20 16:17:41

标签: visual-studio-2017 entity-framework-core .net-standard-2.0

我在Visual Studio 2017 v15.3.1中创建了一个.NET Standard v2.0项目,但我无法安装" Microsoft.EntityFrameworkCore 2.0.0"包中(由Nuget 4.3提供)。以前安装了.NET SDK和Runtime,均为2.0.0。

我得到的错误遵循这种模式: "软件包X与netstandard2.0不兼容(.NETStandard,Version = v2.0)。" (即System.Reflection.TypeExtensions 4.1.0)。

导致这些错误的原因是什么?

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

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

警告:

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

...

错误:

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

  • net35(.NETFramework,Version = v3.5)
  • net40(.NETFramework,Version = v4.0)
  • net45(.NETFramework,Version = v4.5)
  • netstandard1.0(.NETStandard,Version = v1.0)
  • portable-net45 + win8 + wp8 + wpa81(.NETPortable,Version = v0.0,Profile = Profile259)

...

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

的包更改

已过去的时间:00:00:02.4689637

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

2 个答案:

答案 0 :(得分:2)

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

希望它有所帮助。

编辑:它发生在我身上另一次尝试更快的解决方案。关键是从包的管理器配置中删除Nuget的缓存。

答案 1 :(得分:1)

enter image description here

单击“清除所有Nuget缓存”将解决问题。