我試圖在安裝VS2015 Update 3和Core 1.0發行版之後,在PostgreSQL中用作用戶身份驗證的數據存儲以進行ASP.NET Core 1.0 Visual Studio 2015項目。使用PostgreSQL和ASP.NET Core Identity的TypeLoadException
步驟:
創建新的 「ASP.NET核心Web應用程序(.NET框架)」 項目。
添加的NuGet包 「Npgsql的」 v3.1.4和 「Npgsql.EntityFrameworkCore.PostgreSQL」 在Startup.cs V1.0.0-RC2-release1
修改ConfigureServices()如下:
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>(); }
運行
拋出異常的調用AddDbContext():
類型「System.TypeLoadException」的異常出現在MyApp.exe將 但在用戶代碼中沒有處理
其他信息:未能加載類型 「Microsoft.Extensions.DependencyInjection.Extensions.ServiceCollectionExtensions」 from assembly'Microsoft.Extensions.DependencyInjection.Abstractions, Version = 1.0.0.0,Culture = neutral,PublicKeyToken = adb9793829ddae60'。
我認爲這是一個兼容性問題,很快將在Npgsql.EntityFrameworkCore.PostgreSQL中解決,但要確認此問題並確定解決方法是否可用。