Ich versuche, PostgreSQL als Datenspeicher für die Benutzerauthentifizierung in einem ASP.NET Core 1.0 Visual Studio 2015-Projekt nach der Installation von VS2015 Update 3 und der Core 1.0-Version zu verwenden.TypeLoadException mit PostgreSQL mit ASP.NET Core Identity
Schritte:
Neu erstellen "ASP.NET Core-Web-Anwendung (.NET Framework)" Projekt.
hinzufügen NuGet Pakete "Npgsql" v3.1.4 und "Npgsql.EntityFrameworkCore.PostgreSQL" v1.0.0-RC2-RELEASE1
Ändern ConfigureServices() in Startup.cs wie folgt:
public void ConfigureServices(IServiceCollection services) { // Add framework services. services.AddEntityFrameworkNpgsql() .AddDbContext<ApplicationDbContext>(options => options.UseNpgsql(Configuration.GetConnectionString("DefaultConnection"))); services.AddIdentity<ApplicationUser, IdentityRole>() .AddEntityFrameworkStores<ApplicationDbContext>() .AddDefaultTokenProviders(); services.AddMvc(); // Add application services. services.AddTransient<IEmailSender, AuthMessageSender>(); services.AddTransient<ISmsSender, AuthMessageSender>(); }
Run
Exception auf Abruf geworfen AddDbContext():
Eine Ausnahme vom Typ ‚System.TypeLoadException‘ aufgetreten in MyApp.exe wurde aber in Benutzercode
Zusätzliche Informationen nicht behandelt: Typ kann nicht ‚Microsoft.Extensions.DependencyInjection.Extensions.ServiceCollectionExtensions‘ laden von Assembly 'Microsoft.Extensions.DependencyInjection.Abstractions, Version = 1.0.0.0, Kultur = neutral, PublicKeyToken = adb9793829ddae60'.
Ich nehme an, das ein Kompatibilitätsproblem ist, dass bald in Npgsql.EntityFrameworkCore.PostgreSQL angesprochen werden, wollte aber um dies zu bestätigen und festzustellen, ob eine Abhilfe verfügbar ist.