我有一个 dotnet 应用程序,我需要从两个相对路径(常规路径)中提取配置appsettings.Json
, appsettings.Development.json
),并且还可以从绝对路径/config/appsettings.json
。我找不到办法做到这一点。从the docs https://learn.microsoft.com/en-us/dotnet/api/microsoft.extensions.configuration.jsonconfigurationextensions.addjsonfile?view=dotnet-plat-ext-3.1,路径arg是Path relative to the base path stored in Properties of builder.
如何设置它以从绝对路径读取配置/config/filename.json
?
动机:
我正在对 dotnet 应用程序进行 docker 化,因此我计划保留不会出现的配置usually常规部署之间的变化publish/appsettings.json
并部署特定配置/config/appsettings.json
(这是我将在部署时安装在容器上的卷)。
您可以编辑您的CreateHostBuilder
像这样的方法:
public static IHostBuilder CreateHostBuilder(string[] args)
{
var builder = Host.CreateDefaultBuilder(args);
builder.ConfigureAppConfiguration(cfgBuilder =>
{
var provider = new PhysicalFileProvider("/config"); // Create a dedicated FileProvider based on the /config directory
cfgBuilder.AddJsonFile(provider, "filename.json", true, true); // Add the filename.json configuration file stored in the /config directory
});
builder.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
});
return builder;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)