VSTS部署IIS应用程序winrm并更改appsettings.json

VSTS Deploy IIS App winrm and change appsettings.json

我正在使用"部署IIS应用程序Winrm"任务在另一台计算机上部署IIS应用程序。

此任务将部署zip文件。在此zip文件中,有一个appsettings.json文件,其变量以下划线开头和结尾。

我需要为每个环境替换appsettings.json中的值。
我尝试将json文件放置为" Web部署参数文件"和"覆盖参数",但这不起作用。如何更改appsettings.json?


您不需要更改appsettings.json。核心项目可以从每个ASPNETCORE_ENVIRONMENT环境变量从appsettings.[environment].json文件检索数据。

例如:

  • 将相应的appsettings.[environment].json文件添加到项目中,例如appsettings.Production.jsonappsettings.Development.json,并在每个文件中设置相应的值。
  • 启动文件中的代码
  • 1
    2
    3
    4
    5
    6
    7
    8
    9
      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环境变量(只需要设置/添加一次)
  • 有些文章可以为您提供帮助:

    ASP.NET Core中的配置

    在多个环境中工作

    如果仍要更改appsettings.json文件,则可以解压缩打包的文件,然后使用令牌任务(例如,替换令牌)更新文件,然后压缩这些文件。

    更多信息,您可以参考使用Tokenizer和ReplaceTokens任务管理.NET Core Web App部署的配置