由于包的不兼容性,添加迁移失败

时间:2018-06-02 05:59:01

标签: c# sql-server entity-framework ef-migrations

我连接到我在Micrososft SQL Server Management Studio中创建的SQL Server数据库。我使用当前的ip连接。

当我打开连接和数据库的那天,我还使用迁移和Entity Framework创建了一个表,并且表已成功创建。

在晚上关闭电脑然后早上回来之后重新开始工作,我尝试在PM控制台中执行添加迁移我得到错误:

  

您的启动项目“TowerOfPower”未引用Microsoft.EntityFrameworkCore.Design。实体框架核心工具需要此包才能运行。确保您的启动项目正确,安装包,然后重试。

很奇怪,但是当我尝试安装包时

Request timed Out

我收到错误:

  

Install-Package:无法安装软件包'Microsoft.EntityFrameworkCore.Design 2.1.0'。您正在尝试将此程序包安装到目标项目中   '.NETFramework,Version = v4.0',但该包不包含与该框架兼容的任何程序集引用或内容文件。有关更多信息,请联系包裹作者   在行:1 char:1
  + Install-Package Microsoft.EntityFrameworkCore.Design -Version 2.1.0
  + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~
  + CategoryInfo:未指定:(:) [Install-Package],例外
  + FullyQualifiedErrorId:NuGetCmdletUnhandledException,NuGet.PackageManagement.PowerShellCmdlets.InstallPackageCommand

所以我试图通过安装网上建议的其他软件包解决这个问题,但仍然遇到了我提到的所有错误的最后一个错误。

1 个答案:

答案 0 :(得分:1)

我认为你的框架类型存在很大矛盾。首先,如果您开发.NetCore项目,则必须使用EfCore进行ORM进度。在.NetFramework项目中,您必须使用Entity Framework。

如果我们查看最新的错误消息,
您正在尝试加载不正确的nuget项目。根据错误消息,您尝试将 EntityFrameworkCore packege安装到“。NETFramework,Version = v4.0”对于此框架,您必须使用 Install-Package EntityFramework -Version 6.2.0

最后,如果您在单个解决方案中使用多个项目,则必须确定项目框架类型(exp:.Net或.NetCore)

enter image description here

使用Package Manager控制台时,必须在默认项目 ComboBox

中选择正确的项目