dotnet publish 不使用 appsettings.json
Posted
技术标签:
【中文标题】dotnet publish 不使用 appsettings.json【英文标题】:dotnet publish not consuming appsettings.json 【发布时间】:2021-01-23 16:52:44 【问题描述】:当我使用 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 在我们的开发环境中被正确使用。
【问题讨论】:
它会在开发环境中加载应用程序设置吗? 是的。在我们的暂存环境中(我们不使用 dotnet publish) 【参考方案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>();
);
【讨论】:
以上是关于dotnet publish 不使用 appsettings.json的主要内容,如果未能解决你的问题,请参考以下文章
使用appsettings.json配置Kestrel监听端口Dotnet core 2 preview 2
Dotnet 不知道特定于环境的 appsettings 文件
dotnet core 2.0中appSettings.json中的SMTP设置
如何在 dotnet core 3 控制台应用程序中更改时重新加载“appsettings.json”