Asp.net core Centos Linux自包含(SCD)ASP.NET核心应用程序启动异常
大家好:我是Linux新手。我使用identity创建了一个.net核心web应用程序。我想出版独立的。我安装了所有必需的linux库。授予文件系统权限。在我的本地虚拟机上运行。但在我的Digitalocean液滴上,它没有请帮帮我 这是我调用可执行文件时的控制台输出 信息:Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[0] 用户配置文件可用。使用“/root/.aspnet/DataProtection Keys”作为密钥存储库;密钥在静止时不会被加密。 应用程序启动异常:系统。异常:无法解析类型为“Microsoft.AspNetCore.Identity.UserManager1[[cihanturan.WebUI.Areas.Admin.Models.ApplicationUser,cihanturan.WebUI,版本=1.0.0.0,区域性=中性,PublicKeyToken=null]]'对于类型为'cihanturan.WebUI.Startup'的方法'Configure'的参数'userManager'。-->System.ArgumentException:初始化字符串的格式不符合从索引84开始的规范。 在System.Data.Common.DbConnectionOptions.GetKeyValuePairString connectionString、Int32 currentPosition、StringBuilder缓冲区、布尔useOdbcRules、String和keyname、String和keyvalue 位于System.Data.Common.DbConnectionOptions.ParseInternalDictionary2 parsetable、字符串连接字符串、布尔构建链、字典2同义词、布尔第一键 位于System.Data.Common.DbConnectionOptions..ctorString connectionString,Dictionary2同义词,布尔useOdbcRules 在System.Data.Common.DbConnectionStringBuilder.set_ConnectionStringString值 在Microsoft.EntityFrameworkCore.MySqlDbContextOptionsExtensions.UseMySQLDBContextoptionsBuilderoptionsBuilder上,字符串连接字符串,Action1 MySQLDoptionsAction 在C:\Users\Cihan\Documents\Visual Studio 2017\Projects\cihanturan\cihanturan.WebUI.Startup.b\uu 4\u 1DbContextOptionsBuilder选项中的C:\Users\Cihan\Documents\Visual Studio 2017\Projects\cihanturan\cihanturan.WebUI\Startup.cs:第38行 在Microsoft.Extensions.DependencyInjection.EntityFrameworkServiceCollectionExtensions.DbContextOptions工厂[TContext]IServiceProvider应用程序服务提供程序中,操作2选项操作 在Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScopedScopedCallSite scopedCallSite scopedCallSite中,ServiceProviderEngineScope作用域 在Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructorConstructorCallSite constructorCallSite constructorCallSite中,服务提供工程范围 在Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScopedScopedCallSite scopedCallSite scopedCallSite中,ServiceProviderEngineScope作用域 在Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructorConstructorCallSite constructorCallSite constructorCallSite中,服务提供工程范围 在Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScopedScopedCallSite scopedCallSite scopedCallSite中,ServiceProviderEngineScope作用域 在Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructorConstructorCallSite constructorCallSite constructorCallSite中,服务提供工程范围 在Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScopedScopedCallSite scopedCallSite scopedCallSite中,ServiceProviderEngineScope作用域 在Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredServiceIServiceProvider提供程序中,键入serviceType 在Microsoft.AspNetCore.Hosting.Internal.ConfigureBuilder.InvokeObject实例中,IAApplicationBuilder -内部异常堆栈跟踪的结束-- 在Microsoft.AspNetCore.Hosting.Internal.ConfigureBuilder.InvokeObject实例中,IAApplicationBuilder 位于Microsoft.AspNetCore.Hosting.ConventionBasedStartup.ConfigureIAApplicationBuilder应用程序 位于Microsoft.AspNetCore.Hosting.Internal.WebHost.BuildApplication crit:Microsoft.AspNetCore.Hosting.Internal.WebHost[6] 应用程序启动异常 这是Startup.csAsp.net core Centos Linux自包含(SCD)ASP.NET核心应用程序启动异常,asp.net-core,asp.net-core-mvc,asp.net-core-2.0,centos7,sigabrt,Asp.net Core,Asp.net Core Mvc,Asp.net Core 2.0,Centos7,Sigabrt,大家好:我是Linux新手。我使用identity创建了一个.net核心web应用程序。我想出版独立的。我安装了所有必需的linux库。授予文件系统权限。在我的本地虚拟机上运行。但在我的Digitalocean液滴上,它没有请帮帮我 这是我调用可执行文件时的控制台输出 信息:Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[0] 用户配置文件可用。使用“/root/.aspnet/DataProtection Keys
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);
}
您正在尝试将UserManager注入尚未注册到服务中的Configure方法
因此,您的应用程序无法解析UserManager您的asp.net核心版本是什么?对于services.AddIdentity,它将注册所需的服务。您在Centos上安装了哪个运行时?请注意,您的连接字符串是什么。尝试检查连接字符串是否有效且可访问。