C# 添加迁移时无法加载文件或程序集netstandard

C# 添加迁移时无法加载文件或程序集netstandard,c#,asp.net-core,entity-framework-migrations,.net-standard,C#,Asp.net Core,Entity Framework Migrations,.net Standard,我有一个ASP.NETCore3.0解决方案,有两个项目:Web(启动项目)和Core(类库)。我尝试使用Package Manager控制台创建迁移: 添加迁移初始-项目核心-StartupProject Web 并获取以下错误: 无法加载文件或程序集“netstandard,版本=2.1.0.0,区域性=中性,PublicKeyToken=CC7B13FFCD2DD51”。定位的程序集清单定义与程序集引用不匹配。(来自HRESULT的异常:0x8013100) 这两个项目在引用中都有Micr

我有一个ASP.NETCore3.0解决方案,有两个项目:Web(启动项目)和Core(类库)。我尝试使用Package Manager控制台创建迁移:

添加迁移初始-项目核心-StartupProject Web

并获取以下错误:

无法加载文件或程序集“netstandard,版本=2.1.0.0,区域性=中性,PublicKeyToken=CC7B13FFCD2DD51”。定位的程序集清单定义与程序集引用不匹配。(来自HRESULT的异常:0x8013100)

这两个项目在引用中都有Microsoft.EntityFrameworkCore.SqlServer和Microsoft.EntityFrameworkCore.Tools。这就是我在Startup.cs中创建连接的方式:

public void ConfigureServices(IServiceCollection services)
{
    var connection = Configuration.GetConnectionString("DefaultConnection");
    services.AddDbContext<ApplicationContext>(options =>
    options.UseSqlServer(connection));
    services.AddControllersWithViews();
}
这是我的ApplicationContext.cs:

public class ApplicationContext : DbContext
{
    public DbSet<Account> Accounts { get; set; }
    public DbSet<Category> Categories { get; set; }
    public DbSet<Currency> Currencies { get; set; }
    public DbSet<Operation> Operations { get; set; }
    public DbSet<User> Users { get; set; }

    public ApplicationContext()
    {
    }
}
公共类应用程序上下文:DbContext
{
公共数据库集帐户{get;set;}
公共数据库集类别{get;set;}
公共数据库集货币{get;set;}
公共数据库集操作{get;set;}
公共数据库集用户{get;set;}
公共应用程序上下文()
{
}
}

有人有相同的问题吗?

我认为您必须这样定义上下文承包商:

public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options) : base(options)
{
}
public ApplicationDbContext(DbContextOptions选项):基本(选项)
{
}

有帮助吗?@panoskarajohn它没有帮助,但谢谢你-我在答案中找到了一个链接,指向“带.NET Framework和NuGet的.NET标准2.0的问题”。我将尝试了解更多有关此问题的信息。@很抱歉,我给您发送了错误的链接。您的问题不是可传递依赖项。NET核心和.NET标准问题。请提供有关您的两个项目的信息。他们两个是.Net核心吗?关于.NET程序集的兼容性,请参见此答案->@panoskarajohn是的,它们都是.NET Core 3.0。那么我应该在类库中使用.Net标准项目而不是.Net核心吗?@Avitale是的。您需要确保安装到每个项目的内容是兼容的。不幸的是,它没有帮助,我得到了同样的错误。
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options) : base(options)
{
}