未能创建迁移。EF Core 工具比某些版本旧

我正在尝试为我的简单项目创建一个初始化迁移。但我收到下一个错误:


C:\RiderProjects\Architecture\Architecture>dotnet ef migrations add init

The EF Core tools version '2.1.8-servicing-32085' is older than that of the runtime '2.2.2-servicing-10034'. Update the tools for the latest features and bug fixes.

Unable to create an object of type 'DomainContext'. For the different patterns supported at design time, see https://go.microsoft.com/fwlink/?linkid=851728

这没有任何意义,因为如果我们看看我的 NuGet 依赖项:

http://img.mukewang.com/634a4f7e0001968804010223.jpg

没有较旧的 Core.Tools 版本 - 它是 2.2.2。


这是我的 Context 类(也许问题隐藏在这个类中):


public class DomainContext : DbContext

{

    private readonly IConfiguration _configuration;


    public DomainContext(IConfiguration configuration)

    {

        _configuration = configuration;

    }


    public DbSet<Car> Car { get; set; }

    public DbSet<Company> Company { get; set; }

    public DbSet<Location> Location { get; set; }


    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)

    {

        if (!optionsBuilder.IsConfigured)

        {

            optionsBuilder.UseSqlServer(_configuration.GetConnectionString("DefaultConnection"));

        }

    }


    protected override void OnModelCreating(ModelBuilder modelBuilder)

    {

        modelBuilder.Entity<Company>(CompanyMapping.Config);

    }

}

有人可以提出解决方案吗? 编辑 这是.csproj文件:


 <ItemGroup>

      <PackageReference Include="EntityFramework" Version="6.2.0" />

      <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.2.2" />

      <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer.Design" Version="1.1.6" />

      <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.2.2" />

      <PackageReference Include="Microsoft.Extensions.Configuration" Version="2.2.0" />

      <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="2.2.0" />

      <PackageReference Include="Newtonsoft.Json" Version="12.0.1" />

      <PackageReference Include="SimpleInjector" Version="4.4.3" />

    </ItemGroup>

大更新


确保您有 Context Class 的默认构造函数。


慕桂英546537
浏览 79回答 1
1回答

互换的青春

查看您的 .csproj 文件。PackageReference 节点中可能有一个较旧的版本。
打开App,查看更多内容
随时随地看视频慕课网APP