Centos Linux Self Contained (SCD) Исключение при запуске основного приложения ASP.NET - PullRequest
0 голосов
/ 16 декабря 2018

Привет всем моим героям :) Я новичок в Linux.Я создал основное веб-приложение .net, используя идентификационные данные.Я хочу опубликовать самодостаточный.Я установил все необходимые библиотеки Linux.Дали разрешения файловой системе.На моей локальной виртуальной машине он работает.Но на моей цифровой капле это не так.:( Пожалуйста, помогите мне.

Это вывод консоли, когда я вызываю исполняемый файл.

info: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager [0] Доступен профиль пользователяИспользование «/root/.aspnet/DataProtection-Keys» в качестве хранилища ключей; ключи не будут зашифрованы в состоянии покоя. Исключение при запуске приложения: System.Exception: не удалось разрешить службу типа «Microsoft.AspNetCore.Identity.UserManager 1[[cihanturan.WebUI.Areas.Admin.Models.ApplicationUser, cihanturan.WebUI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]' for the parameter 'userManager' of method 'Configure' on type 'cihanturan.WebUI.Startup'. ---> System.ArgumentException: Format of the initialization string does not conform to specification starting at index 84. at System.Data.Common.DbConnectionOptions.GetKeyValuePair(String connectionString, Int32 currentPosition, StringBuilder buffer, Boolean useOdbcRules, String& keyname, String& keyvalue) at System.Data.Common.DbConnectionOptions.ParseInternal(Dictionary 2 parsetable, String connectionString, Boolean buildChain, Dictionary 2 synonyms, Boolean firstKey) at System.Data.Common.DbConnectionOptions..ctor(String connectionString, Dictionary 2 синонимов, Boolean useOdbcRules) в System.Data.Common.DbConnectionStringBuilder.set_ConnectionString (значение String) в Microsoft.EntityFrameworkCore.MySqSignExtBextBextSignStext_Exject_Exject_Conject_Exject_Exject_Conject_Exject_Exject_Exject_Exject_Exject_Exject_Exject_Exject_Exject_Exject_Exject_Conject_Exject_BextBex1 mySqlOptionsAction) at cihanturan.WebUI.Startup.<ConfigureServices>b__4_1(DbContextOptionsBuilder options) in C:\Users\Cihan\Documents\Visual Studio 2017\Projects\cihanturan\cihanturan.WebUI\Startup.cs:line 38 at Microsoft.Extensions.DependencyInjection.EntityFrameworkServiceCollectionExtensions.DbContextOptionsFactory[TContext](IServiceProvider applicationServiceProvider, Action 2 optionsAction) в Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScoped (ScopedCallSite scopedCallSite, ServiceProviderEngineScope) в Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor (ConstructorCallSite constructorCallSite, ServiceProviderEngineScope сфера) в Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScoped (ScopedCallSite scopedCallSite, ServiceProviderEngineScope охват) в Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor (ConstructorCallSite constructorCallSite, ServiceProviderEngineScope сфера)на Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScoped (scopedCallSite scopedCallSite, ServiceProviderEngineScope охват) в Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor (constructorCallSite constructorCallSite, ServiceProviderEngineScope охват) в Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScoped(ScopedCallSite scopedCallSite, область действия ServiceProviderEngineScope) в Microsoft.Extensions.DependencyInjection.SerViceProviderServiceExtensions.GetRequiredService (поставщик IServiceProvider, тип serviceType) в Microsoft.AspNetCore.Hosting.Internal.ConfigureBuilder.Invoke (экземпляр объекта, построитель IApplicationBuilder) --- Конец внутренней трассировки стека исключений --- в Microsoft.AspNetCore.Hosting.Inst.ConfigureBuilder.Invoke (экземпляр объекта, построитель IApplicationBuilder) в Microsoft.AspNetCore.Hosting.ConventionBasedStartup.Configure (приложение IApplicationBuilder) в Microsoft.AspNetCore.Hosting.Internal.WebHost.BuildApplication () crit: Microsoft.AspingHternal.H6] Исключение при запуске приложения ...........

Это Startup.cs

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

    public IConfiguration Configuration { get; }   

    public void ConfigureServices(IServiceCollection services)
    {
        services.AddDbContext<ApplicationDbContext>(options => options.UseMySql(Configuration.GetConnectionString("DbCihanConnection")));
        services.AddDbContext<ApplicationIdentityDbContext>(options => options.UseMySql(Configuration.GetConnectionString("DbCihanConnection")));

        services.AddIdentity<ApplicationUser, IdentityRole>(options =>   
        {  
            options.User.RequireUniqueEmail =true;                               

            options.Password.RequiredLength = 7;
            options.Password.RequireLowercase = false;
            options.Password.RequireUppercase = false;
            options.Password.RequireNonAlphanumeric = false;
            options.Password.RequireDigit = false;

        })
                .AddEntityFrameworkStores<ApplicationIdentityDbContext>()
                .AddDefaultTokenProviders();
        services.ConfigureApplicationCookie(options =>
        {
            options.AccessDeniedPath = "/Admin/Account/AccessDenied";
            options.Cookie.Name = "CookieCihan";
            options.LoginPath = "/Admin/Account/Login";                      

        });

        services.AddMvc()
            .SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
    }
    public void Configure(IApplicationBuilder app, IHostingEnvironment env, UserManager<ApplicationUser> userManager,RoleManager<IdentityRole> roleManager)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }

        app.UseForwardedHeaders(new ForwardedHeadersOptions
        {
            ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto
        });
        app.UseStatusCodePagesWithReExecute("/Errors/Index", "?statusCode={0}");   
        app.UseStaticFiles();               
        app.UseAuthentication();   
        app.UseHttpsRedirection();

        app.UseMvc(routes =>
        {
            routes.MapRoute(name: "areas",
                template: "{area:exists}/{controller=Admin}/{action=Index}/{id?}");
        });

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

        MyIdentityDataInitializer.SeedData(userManager, roleManager,app);

    }
}

Это Program.cs

 public class Program
{
    public static void Main(string[] args)
    {
        CreateWebHostBuilder(args).Build().Run();
    }


        public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
            WebHost.CreateDefaultBuilder(args)            
                .UseStartup<Startup>()
                .UseDefaultServiceProvider(options=>options.ValidateScopes=false);
    }

1 Ответ

0 голосов
/ 16 декабря 2018

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

, в результате ваше приложение не может разрешить UserManager

...