Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
434 views
in Technique[技术] by (71.8m points)

.net - dotnet publish not consuming appsettings.json

My .NET Core 2.1 app fails to read appsettings.json when I use dotnet publish. I've verified that appsettings.json is indeed copied to the out folder.

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

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

When I run dotnet MyApp.dll from the publish folder, none of my appsettings are loaded. Any ideas on why?

EDIT: appsettings IS consumed correctly in our Development environment.

question from:https://stackoverflow.com/questions/65861850/dotnet-publish-not-consuming-appsettings-json

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You should have something like this inside your 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>();
        });

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...