dotnet publish не использует appsettings.json

Мое приложение .NET Core 2.1 не может прочитать appsettings.json, когда я использую dotnet publish. Я убедился, что appsettings.json действительно скопирован в папку 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 из папки публикации, ни одно из моих приложений не загружается. Есть идеи, почему?

РЕДАКТИРОВАТЬ: настройки приложений правильно используются в нашей среде разработки.


person undeniablyrob    schedule 23.01.2021    source источник
comment
Загружает ли он настройки приложения внутри среды разработки?   -  person Amir    schedule 23.01.2021
comment
Да. И в нашей промежуточной среде (где мы не используем публикацию dotnet)   -  person undeniablyrob    schedule 23.01.2021


Ответы (1)


У вас должно быть что-то подобное внутри вашего 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>();
        });
person Amir    schedule 23.01.2021