C# 如何让.Net Core 3.1查看我的appsettings文件

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:找不到文

我使用.NETCore3.1创建了一个api,就像这些东西一样,它在我的机器上工作。但当我试图将其发布到IIS时,它也无法在我的机器上工作。我必须使用IIS作为我的要求之一。因此,错误是:

  • HTTP错误500.30-ANCM进程内启动失败。我试了很多东西,但似乎都没用。我浏览了appsettings文件,查看是否遗漏了逗号或其他内容,并更改了IIS中的设置,以便应用程序池不管理代码,并禁用了32位应用程序选项
  • 未处理的异常。System.IO.FileNotFoundException:找不到文件“C:\inetpub\wwwroot\appnamehere\appsettings..json”。我在事件查看器中找到了这个
  • 事件查看器错误如下所示:

    物理根为“C:\inetpub\wwwroot\appnamehere\”的应用程序“/LM/W3SVC/2/ROOT”无法加载coreclr。异常消息: CLR工作线程过早退出

    物理根为“C:\inetpub\wwwroot\appnamehere\”的应用程序“/LM/W3SVC/2/ROOT”遇到意外的托管异常,异常代码为“0xe0434352”。捕获的stdout和stderr日志的前30KB字符: 未处理的异常。System.IO.FileNotFoundException:找不到文件“C:\inetpub\wwwroot\appnamehere\appsettings..json”。 文件名:“C:\inetpub\wwwroot\appnamehere\appsettings..json” 位于System.IO.FileStream.ValidateFileHandle(安全文件句柄) 在System.IO.FileStream.CreateFileOpenHandle(文件模式、文件共享、文件选项) 位于System.IO.FileStream..ctor(字符串路径、文件模式、文件访问访问、文件共享、Int32 bufferSize、文件选项) 位于System.IO.StreamReader.ValidateArgsAndOpenPath(字符串路径、编码、Int32 bufferSize) 在System.IO.StreamReader..ctor(字符串路径、编码、布尔检测编码和字节顺序标记) 位于System.IO.File.InternalReadAllText(字符串路径,编码) 位于System.IO.File.ReadAllText(字符串路径) 位于C:\Development\solutionNameHere\appnamehere.Services.Configurations\DatabaseConfigProvider.cs中的appnamehere.Services.Configurations.DatabaseConfigProvider.FetchConfiguration():第25行 位于C:\Development\solutionNameHere\appnamehere.Services.Configurations\DatabaseConfigProvider.Load()中的appnamehere.Services.Configurations.DatabaseConfigProvider.Load():第20行 位于Microsoft.Extensions.Configuration.ConfigurationRoot..ctor(IList
    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"