dotnet 发布不消耗 appsettings.json

时间:2021-01-23 16:52:44

标签: json .net .net-core publish appsettings

当我使用 dotnet publish 时,我的 .NET Core 2.1 应用程序无法读取 appsettings.json。我已经验证 appsettings.json is 确实复制到了 out 文件夹。

$ dotnet publish
$ cd the/publish/directory
$ ls -l

MyApp.dll
...
Other dlls
...
appsettings.json
appsettings.Development.json
appsettings.Staging.json
runtimes/
web.config
wwwroot/

当我从发布文件夹运行 dotnet MyApp.dll 时,我的任何应用设置都没有加载。关于原因的任何想法?

编辑:在我们的开发环境中正确使用 appsettings。

1 个答案:

答案 0 :(得分:0)

您的 Program.cs 中应该有类似的内容

public static IHostBuilder CreateHostBuilder(string[] args) =>
    Host.CreateDefaultBuilder(args)
        .ConfigureAppConfiguration((hostingContext, config) =>
        {
            config.AddJsonFile("appsettings.json", 
                optional: true, 
                reloadOnChange: true);
        })
        .ConfigureWebHostDefaults(webBuilder =>
        {
            webBuilder.UseStartup<Startup>();
        });