我正在部署apt.net core 2.0 web api作为Windows服务。我的每个环境都有一个appsettings文件(例如:appsettings.Development.json)。
但是,我的环境特定的appsetting文件未加载到我的配置中。这是代码:
var pathToExe = Process.GetCurrentProcess().MainModule.FileName;
var pathToContentRoot = Path.GetDirectoryName(pathToExe);
return WebHost.CreateDefaultBuilder(args)
.UseContentRoot(pathToContentRoot)
.ConfigureAppConfiguration((builderContext, config) =>
{
IHostingEnvironment env = builderContext.HostingEnvironment;
config.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
.AddJsonFile("appsettings.{env.EnvironmentName}.json", optional: true, reloadOnChange: true);
//.AddJsonFile("appsettings.Development.json", optional: true, reloadOnChange: true)
})
.UseStartup<Startup>()
.UseUrls(myUrl)
.Build();
我尝试通过硬编码(注释中的代码)加载一个特定于环境的配置文件,该值正在工作。我还可以保证我的环境名称和文件名之间没有拼写错误。
我的环境名称是通过dployment计算机上的环境变量设置的。