Could not resolve a service of type 'EntityFrameworkCore.DbContextOptions`1[Db] for the parameter 'identityDbContextOptions' of method 'Configure'

0

Firstly, this project successfully working now in Windows, and was successfully worked in Linux hosting before last update. After update new version I receive error:

Frontend[30348]:  ---> System.IO.FileLoadException: Could not load file or assembly 'Pomelo.EntityFrameworkCore.MySql, Version=3.1.2.0, Culture=neutral, PublicKeyToken=2cc498582444921b'. The located assembly's manifest definition does not match the assembly reference. (0x80131040)
Frontend[30348]: File name: 'Pomelo.EntityFrameworkCore.MySql, Version=3.1.2.0, Culture=neutral, PublicKeyToken=2cc498582444921b'
Frontend[30348]:    at Frontend1.Startup.<>c.<ConfigureServices>b__9_0(DbContextOptionsBuilder options)
Frontend[30348]:    at Microsoft.Extensions.DependencyInjection.EntityFrameworkServiceCollectionExtensions.<>c__DisplayClass1_0`2.<AddDbContext>b__0(IServiceProvider p, DbContextOptionsBuilder b)
Frontend[30348]:    at Microsoft.Extensions.DependencyInjection.EntityFrameworkServiceCollectionExtensions.CreateDbContextOptions[TContext](IServiceProvider applicationServiceProvider, Action`2 optionsAction)
Frontend[30348]:    at Microsoft.Extensions.DependencyInjection.EntityFrameworkServiceCollectionExtensions.<>c__DisplayClass10_0`1.<AddCoreServices>b__0(IServiceProvider p)
Frontend[30348]:    at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitFactory(FactoryCallSite factoryCallSite, RuntimeResolverContext context)
Frontend[30348]:    at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSiteMain(ServiceCallSite callSite, TArgument argument)
Frontend[30348]:    at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitDisposeCache(ServiceCallSite transientCallSite, RuntimeResolverContext context)
Frontend[30348]:    at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(ServiceCallSite callSite, TArgument argument)
Frontend[30348]:    at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.Resolve(ServiceCallSite callSite, ServiceProviderEngineScope scope)
Frontend[30348]:    at Microsoft.Extensions.DependencyInjection.ServiceLookup.DynamicServiceProviderEngine.<>c__DisplayClass1_0.<RealizeService>b__0(ServiceProviderEngineScope scope)
Frontend[30348]:    at Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngine.GetService(Type serviceType, ServiceProviderEngineScope serviceProviderEngineScope)
Frontend[30348]:    at Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngineScope.GetService(Type serviceType)
Frontend[30348]:    at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(IServiceProvider provider, Type serviceType)
Frontend[30348]:    at Microsoft.AspNetCore.Hosting.ConfigureBuilder.Invoke(Object instance, IApplicationBuilder builder)
Frontend[30348]:    --- End of inner exception stack trace ---
Frontend[30348]:    at Microsoft.AspNetCore.Hosting.ConfigureBuilder.Invoke(Object instance, IApplicationBuilder builder)
Frontend[30348]:    at Microsoft.AspNetCore.Hosting.ConfigureBuilder.<>c__DisplayClass4_0.<Build>b__0(IApplicationBuilder builder)
Frontend[30348]:    at Microsoft.AspNetCore.Hosting.GenericWebHostBuilder.<>c__DisplayClass13_0.<UseStartup>b__2(IApplicationBuilder app)
Frontend[30348]:    at Microsoft.AspNetCore.Mvc.Filters.MiddlewareFilterBuilderStartupFilter.<>c__DisplayClass0_0.<Configure>g__MiddlewareFilterBuilder|0(IApplicationBuilder builder)
Frontend[30348]:    at Microsoft.AspNetCore.HostFilteringStartupFilter.<>c__DisplayClass0_0.<Configure>b__0(IApplicationBuilder app)
Frontend[30348]:    at Microsoft.AspNetCore.Hosting.GenericWebHostService.StartAsync(CancellationToken cancellationToken)
Frontend[30348]: Unhandled exception. System.Exception: Could not resolve a service of type 'Microsoft.EntityFrameworkCore.DbContextOptions`1[[NewDb.Models.ApplicationDbContext, NewDb, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]' for the parameter 'identityDbContextOptions' of method 'Configure' on type 'Frontend1.Startup'.

what does it means?

  1. I deploy my project to hosting as binary. All NET CORE library present in hosting. Also have redirection to another library version in project file (and result file Frontend.dll.config is present).

  2. I have shared library with my DB definition, that definition shared about 10 project. In project with DB definition I have only POCO class. Library with DB definition is present in project folder. Also application.json with connection string is present in hosting.

  3. In project I have this configuration. Now this config working perfectly in Windows and was working in Linux hosting with previous version too.

     services.AddDbContext<ApplicationDbContext>(
         (Microsoft.EntityFrameworkCore.DbContextOptionsBuilder options) =>
         options.UseMySql(Configuration.GetConnectionString("DefaultConnection"),
         (Microsoft.EntityFrameworkCore.Infrastructure.MySqlDbContextOptionsBuilder mySqlOption) =>
         {
             mySqlOption.CommandTimeout(10);
             mySqlOption.EnableRetryOnFailure(10);
         }),
         ServiceLifetime.Transient, ServiceLifetime.Transient);
    
     services.AddIdentity<ApplicationUser, IdentityRole>(options =>
     {
         options.Password.RequiredLength = 4;
         options.Password.RequireUppercase = false;
         options.Password.RequireLowercase = false;
         options.Password.RequireUppercase = false;
         options.Password.RequireNonAlphanumeric = false;
         options.SignIn.RequireConfirmedEmail = true;
    
     }).AddEntityFrameworkStores<ApplicationDbContext>()
     .AddDefaultTokenProviders();
    
mysql
linux
asp.net-core
dependency-injection
entity-framework-core
asked on Stack Overflow Aug 30, 2020 by Viacheslav • edited Aug 30, 2020 by 0andriy

1 Answer

0

I has uploaded library from C:\Users\khark.nuget\packages\pomelo.entityframeworkcore.mysql\3.1.2 (instead publish project's directory) and project is raising.

answered on Stack Overflow Aug 30, 2020 by Viacheslav

User contributions licensed under CC BY-SA 3.0