【发布时间】:2018-01-28 18:32:18
【问题描述】:
我在 Visual Studio 2017 v15.3.1 中创建了一个 .NET Standard v2.0 项目,但无法在其中安装“Microsoft.EntityFrameworkCore 2.0.0”包(通过 Nuget 4.3)。以前安装了 2.0.0 的 .NET SDK 和 Runtime。
我得到的错误遵循这种模式: “包 X 与 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”恢复的。这可能会导致兼容性问题。
...
错误:
Package Remotion.Linq 2.1.1 与 netstandard2.0 (.NETStandard,Version=v2.0) 不兼容。包 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
==========结束==========
【问题讨论】:
-
System.Reflection.TypeExtensions 4.1.0 不起作用,它太旧了。您将需要 4.4 版
-
问题已编辑,有确切错误。 @DavidG 为什么它采用与 .net 标准 2.0 不兼容的软件包?
-
你在这里安装了一些奇怪的包。
Remotion.Linq是什么?这不是标准库的一部分。 -
其实是来自Microsoft.EntityFrameworkCore的依赖,不过貌似需要老版本的。
-
糟糕,我错过了。不过还是很奇怪,您是否尝试过创建一个新项目?
标签: visual-studio-2017 entity-framework-core .net-standard-2.0