C# EF Core 2.1-验证数据库是否存在更新后不工作

C# EF Core 2.1-验证数据库是否存在更新后不工作,c#,entity-framework-core,npgsql,C#,Entity Framework Core,Npgsql,这段代码在将NPGSQL从2.0更新到2.1之前工作得非常好 public static void EnsurePopulated(IApplicationBuilder app) { CoreDatabaseContext context = app.ApplicationServices.GetRequiredService<CoreDatabaseContext>(); bool databaseExists = (context.Database.GetSe

这段代码在将NPGSQL从2.0更新到2.1之前工作得非常好

public static void EnsurePopulated(IApplicationBuilder app)
{
    CoreDatabaseContext context = app.ApplicationServices.GetRequiredService<CoreDatabaseContext>();
    bool databaseExists  = (context.Database.GetService<IDatabaseCreator>() as RelationalDatabaseCreator).Exists();

    //Don't work too
    //bool databaseExists  = context.Database.EnsureCreated(); 
}
重新填充公共静态空间(IApplicationBuilder应用程序)
{
CoreDatabaseContext上下文=app.ApplicationServices.GetRequiredService();
bool databaseExists=(context.Database.GetService()作为RelationalDatabaseCreator.Exists();
//不要工作太多
//bool databaseExists=context.Database.resured();
}
更新后,我得到了错误:

System.MissingMethodException:'未找到方法: 'Microsoft.EntityFrameworkCore.DBContextOptions Builder Microsoft.EntityFrameworkCore.NpgsqlDbContextOptionsExtensions.UseNpgsql(Microsoft.EntityFrameworkCore.DbContextOptionsBuilder, 系统字符串, 系统。行动“1)”

VS2017 15.7.0 .NET 4.7.2 Npgsql.EntityFrameworkCore.PostgreSQL 2.1
.NET Core 2.1.300

是否安装了最新的2.1 SDK?你如何运行你的应用程序?运行
dotnet--version
时,是否显示
2.1.300
?您是否安装了最新版本的VS 2017


这些异常通常发生在dll版本不匹配/不兼容时。如果您更新了所有内容,请清除bin/obj文件夹,它应该可以工作。

VS2017 15.7.0.NET 4.7.2 Npgsql.EntityFrameworkCore.PostgreSQL 2.1.NET Core 2.1.300I删除了文件夹并重新编译,错误仍然存在您安装了旧版本的VS。你需要更新它。