C# 如何让.Net Core 3.1查看我的appsettings文件
我使用.NETCore3.1创建了一个api,就像这些东西一样,它在我的机器上工作。但当我试图将其发布到IIS时,它也无法在我的机器上工作。我必须使用IIS作为我的要求之一。因此,错误是:C# 如何让.Net Core 3.1查看我的appsettings文件,c#,appsettings,asp.net-core-3.1,C#,Appsettings,Asp.net Core 3.1,我使用.NETCore3.1创建了一个api,就像这些东西一样,它在我的机器上工作。但当我试图将其发布到IIS时,它也无法在我的机器上工作。我必须使用IIS作为我的要求之一。因此,错误是: HTTP错误500.30-ANCM进程内启动失败。我试了很多东西,但似乎都没用。我浏览了appsettings文件,查看是否遗漏了逗号或其他内容,并更改了IIS中的设置,以便应用程序池不管理代码,并禁用了32位应用程序选项 未处理的异常。System.IO.FileNotFoundException:找不到文
1提供程序)
在Microsoft.Extensions.Configuration.ConfigurationBuilder.Build()中
在C:\Development\solutionNameHere\appnamehere.Services.Configurations\AppConfiguration.cs中的appnamehere.Services.Configurations.AppConfiguration.GetCurrentSettings()处:第34行
在C:\Development\solutionNameHere\appnamehere.Services.Configurations\AppConfiguration.cs中的appnamehere.Services.Configurations.AppConfiguration.get_Current()处:第24行
在C:\Development\solutionNameHere\appnamehere.Services.Data.Implementation.TitantDBContext.OnConfiguration(DBContextOptions Builder Options Builder)中的appnamehere.Services.Data.Implementation\TitantDBContext.cs:第17行
在Microsoft.EntityFrameworkCore.DbContext.get\u InternalServiceProvider()中
在Microsoft.EntityFrameworkCore.DbContext.Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure.get_Instance()中
在Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade.Microsoft.EntityFrameworkCore.Infrastructure.IIinfrastructure.get_Instance()中
位于Microsoft.EntityFrameworkCore.Internal.InternalAccessorExtensions.GetService[TService](IInfrastructure
1访问器)
位于Microsoft.EntityFrameworkCore.Infrastructure.AccessorExtensions.GetService[TService](IInfrastructure`1访问器)
在Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade.get_DatabaseCreator()中
在Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade.Rescreated()中
在C:\Development\solutionNameHere\appnamehere\Startup.cs中的appnamehere.Startup..ctor(IConfiguration配置)处:第27行
---来自引发异常的上一个位置的堆栈结束跟踪---
位于Microsoft.Extensions.DependencyInjection.ActivatorUtilities.ConstructorMatcher.CreateInstance(IServiceProvider提供程序)
位于Microsoft.Extensions.DependencyInjection.ActivatorUtilities.CreateInstance(IServiceProvider提供程序,类型instanceType,对象[]参数)
在Microsoft.AspNetCore.Hosting.GenericWebHostBuilder.UseStartup(键入startupType、HostBuilderContext上下文、IServiceCollection服务)
在Microsoft.AspNetCore.Hosting.GenericWebHostBuilder.c__DisplayClass12_0.b__0(HostBuilderContext上下文,IServiceCollection服务)
在Microsoft.Extensions.Hosting.HostBuilder.CreateServiceProvider()上
在Microsoft.Extensions.Hosting.HostBuilder.Build()上
在C:\Development\solutionNameHere\appnamehere\Program.cs中的appnamehere.Program.Main(字符串[]args)处:第20行
所以我去了那个地方,我所有的appsettings文件都是appsettings.json和appsettings.Development.json。
然后我去看错误发生的地方
public class Program
{
public static void Main(string[] args)
{
try
{
var env = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT");
var host = CreateHostBuilder(args, env).Build();
host.Run();
}
catch (Exception ex)
{
throw;
}
finally
{
NLog.LogManager.Shutdown();
}
}
public static IHostBuilder CreateHostBuilder(string[] args, string env) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
})
.ConfigureAppConfiguration((IConfigurationBuilder builder) =>
{
builder.Sources.Clear();
builder.SetBasePath(Directory.GetCurrentDirectory());
builder.AddDataBaseProvider();
builder.AddJsonFile($"appsettings.{env}.json");
})
.ConfigureLogging((hostingContext, logging) =>
{
logging.ClearProviders();
logging.AddConfiguration(hostingContext.Configuration.GetSection("Logging"));
logging.AddConsole();
logging.AddDebug();
logging.AddEventSourceLogger();
logging.AddFile(hostingContext.Configuration.GetSection("Logging"));
});
}
公共类程序
{
公共静态void Main(字符串[]args)
{
尝试
{
var env=Environment.GetEnvironmentVariable(“ASPNETCORE_环境”);
var host=CreateHostBuilder(args,env.Build();
host.Run();
}
捕获(例外情况除外)
{
投掷;
}
最后
{
NLog.LogManager.Shutdown();
}
}
公共静态IHostBuilder CreateHostBuilder(字符串[]参数,字符串环境)=>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder=>
{
webBuilder.UseStartup();
})
.ConfigureAppConfiguration((IConfigurationBuilder)=>
{
builder.Sources.Clear();
builder.SetBasePath(Directory.GetCur
var env = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT");
var env = "name-Of-File"