我正在使用"部署IIS App winrm"在另一台计算机上部署IIS应用程序。任务。
此任务部署zip文件。在这个zip中有一个appsettings.json,变量在下划线之前和之后。
我需要为每个环境替换appsettings.json中的值。 我尝试将json文件作为" Web部署参数文件"和"覆盖参数"但这不起作用。如何更改appsettings.json?
答案 0 :(得分:1)
您无需更改appsettings.json。核心项目可以从appsettings.[environment].json
文件中检索每个ASPNETCORE_ENVIRONMENT
环境变量的数据。
例如:
appsettings.[environment].json
个文件添加到项目中,例如appsettings.Production.json
,appsettings.Development.json
,并在每个文件中设置相应的值。
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)
.AddEnvironmentVariables();
Configuration = builder.Build();
}
ASPNETCORE_ENVIRONMEN
T环境变量(只需设置/添加一次)有些文章可以帮助您:
Working with multiple environments
如果您仍想更改appsettings.json文件,可以解压缩打包文件,然后使用令牌任务(例如Replace Tokens)更新文件,然后压缩这些文件。
更多信息,请参阅Managing Config for .NET Core Web App Deployments with Tokenizer and ReplaceTokens Tasks