Я пытаюсь использовать PostgreSQL в качестве хранилища данных для аутентификации пользователей в проекте ASP.NET Core 1.0 Visual Studio 2015 после установки VS2015 Update 3 и версии Core 1.0.TypeLoadException с использованием PostgreSQL с идентификатором ядра ASP.NET
Шаги:
Создать новый "ASP.NET Core, веб-приложений (.NET Framework)" проект.
Добавить NuGet пакеты "Npgsql" v3.1.4 и "Npgsql.EntityFrameworkCore.PostgreSQL" v1.0.0-rc2-RELEASE1
Изменить ConfigureServices() в Startup.cs следующим образом:
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
Исключение брошено по вызову AddDbContext():
Исключение типа «System.TypeLoadException» произошло в MyApp.exe , но не был обработан в пользовательском коде
Дополнительная информация: Не удалось загрузить тип « Microsoft.Extensions.DependencyInjection.Extensions.ServiceCollectionExtensions» из сборника 'Microsoft.Extensions.DependencyInjection.Abstractions, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = adb9793829ddae60'.
Я предполагаю, что это проблема совместимости, которая в скором времени будет рассматриваться в Npgsql.EntityFrameworkCore.PostgreSQL, но хотел, чтобы это подтвердить и определить, есть ли обходной путь доступен.