我已经为我的项目添加了额外的json配置文件
appsettings.DEV.json
appsettings.QA.json
Run Code Online (Sandbox Code Playgroud)
并将它们加载到Startup基于环境的函数中:
public Startup(IHostingEnvironment env)
{
var builder = new ConfigurationBuilder()
.SetBasePath(env.ContentRootPath)
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
.AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true, reloadOnChange: true);
...
Run Code Online (Sandbox Code Playgroud)
我了解如何更改环境:修改ASPNETCORE_ENVIRONMENT项目属性中环境变量的值.但是,似乎没有能力根据配置指定不同的环境变量,下拉列表标记为"N/A"并禁用.
我看到的唯一选择是手动更改环境变量值,以更改使用的appsettings.我确信有一种方法可以自动完成,或者你会如何使用CI?(除了使用脚本来更改环境变量之外,还必须有一种更简单的方法).
这里的目标是为三个环境设置自动构建和持续集成:DEV,QA和PROD. DEV和QA位于同一台计算机上,因此无法手动设置指定环境的环境变量.