«System.InvalidOperationException» произошло в Microsoft.AspNetCore.Identity.EntityFrameworkCore.dll - PullRequest
1 голос
/ 10 июля 2019

Я пытаюсь создать основное веб-приложение .NET. Когда я создаю решение, я получаю следующую ошибку: mymy.100 *

. Она также показывает ошибку о совместимости пакетов, все это произошло после того, как я обновилмоя библиотека

Я пытался изменить номер версии в моем файле csproj, но это создает больше ошибок, помогите мне решить эту проблему

Ошибка на вкладке вывода

Exception thrown: 'System.InvalidOperationException' in Microsoft.AspNetCore.Identity.EntityFrameworkCore.dll
An exception of type 'System.InvalidOperationException' occurred in Microsoft.AspNetCore.Identity.EntityFrameworkCore.dll but was not handled in user code
AddEntityFrameworkStores can only be called with a user that derives from IdentityUser<TKey>.

Файл Startup.cs

{
    public class Startup
    {
        public Startup(IConfiguration configuration)
        {
            Configuration = configuration;
        }

        public IConfiguration Configuration { get; }

        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.Configure<CookiePolicyOptions>(options =>
            {
                // This lambda determines whether user consent for non-essential cookies is needed for a given request.
                options.CheckConsentNeeded = context => true;
                options.MinimumSameSitePolicy = SameSiteMode.None;
            });


            services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
            services.AddDbContext<MyContext>(options => options.UseSqlServer(Configuration["ConnectionStrings:DefaultConnection"]));
            services.AddIdentity<Customer, ApplicationRole>()
                .AddEntityFrameworkStores<MyContext>()
                .AddDefaultTokenProviders();

        }

        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }
            else
            {
                app.UseExceptionHandler("/Home/Error");
                // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
                app.UseHsts();
            }

            app.UseHttpsRedirection();
            app.UseStaticFiles();
            app.UseCookiePolicy();
            app.UseIdentity();

            app.UseMvc(routes =>
            {
                routes.MapRoute(
                    name: "default",
                    template: "{controller=Home}/{action=Index}/{id?}");

                //Admin area routes
                routes.MapRoute(
                    name: "AdminAreaRoute",
                    template: "{area:exists}/{controller=Products}/{action=Index}/{id?}");
            });
        }
    }
}

Я также получаю эту ошибку

1>D:\Projects\Ghost- depricated\Ghost\Ghost.csproj : warning NU1701: Package 'EntityFramework 6.2.0' was restored using '.NETFramework,Version=v4.6.1' instead of the project target framework '.NETCoreApp,Version=v2.2'. This package may not be fully compatible with your project.
1>D:\Projects\Ghost- depricated\Ghost\Ghost.csproj : warning NU1701: Package 'Microsoft.AspNet.Identity.AspNetCoreCompat 0.3.4' was restored using '.NETFramework,Version=v4.6.1' instead of the project target framework '.NETCoreApp,Version=v2.2'. This package may not be fully compatible with your project.
1>D:\Projects\Ghost- depricated\Ghost\Ghost.csproj : warning NU1701: Package 'Microsoft.AspNet.Identity.Core 2.2.2' was restored using '.NETFramework,Version=v4.6.1' instead of the project target framework '.NETCoreApp,Version=v2.2'. This package may not be fully compatible with your project.
1>D:\Projects\Ghost- depricated\Ghost\Ghost.csproj : warning NU1701: Package 'Microsoft.AspNet.Identity.EntityFramework 2.2.2' was restored using '.NETFramework,Version=v4.6.1' instead of the project target framework '.NETCoreApp,Version=v2.2'. This package may not be fully compatible with your project.

1 Ответ

1 голос
/ 10 июля 2019

Попробуйте удалить EntityFramework 6.2.0 Затем установите Microsoft.EntityFrameworkCore Пакет:

Выполните Install-Package Microsoft.EntityFrameworkCore -Version 2.2.6 Команда внутри консоли диспетчера пакетов

Или установите вручную:

Щелкните правой кнопкой мыши напроект> Управление пакетами nuget ...> вкладка Обзор> введите Microsoft.EntityFrameworkCore, затем установите его

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...