【问题标题】:add-migration fails due to incompatability of packages由于包不兼容,添加迁移失败
【发布时间】:2018-06-02 05:59:00
【问题描述】:

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

打开连接和数据库那天我也用migrations和Entity Framework创建了一个表,创建成功了。

晚上关了电脑早上回来上班,我尝试在PM Console中执行add-migration 报错:

您的启动项目“TowerOfPower”未引用 Microsoft.EntityFrameworkCore.Design。此包是 Entity Framework Core Tools 工作所必需的。确保您的启动项目正确,安装包,然后重试。

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

Install-Package Microsoft.EntityFrameworkCore.Design -Version 2.1.0

我得到错误:

安装包:无法安装包“Microsoft.EntityFrameworkCore.Design 2.1.0”。您正在尝试将此软件包安装到一个针对 '.NETFramework,Version=v4.0',但该包不包含任何与该框架兼容的程序集引用或内容文件。如需更多信息,请联系包作者。
在 line:1 char:1
+ 安装包 Microsoft.EntityFrameworkCore.Design -版本 2.1.0
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [安装包],异常
+ FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PackageManagement.PowerShellCmdlets.InstallPackageCommand

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

【问题讨论】:

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


    【解决方案1】:

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

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

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

    当你使用 Package Manager Console 时,你必须在 Default Project ComboBox

    中选择正确的项目

    【讨论】:

      猜你喜欢
      • 2018-08-22
      • 1970-01-01
      • 2020-01-17
      • 1970-01-01
      • 2023-01-31
      • 2017-11-30
      • 2018-11-17
      • 2015-08-12
      • 2020-10-15
      相关资源
      最近更新 更多