发布 appsettings.json 到不同的环境

Publishing appsettings.json to different environment

我有三个文件 appsettings.json,这是我要存储的文件 "general shared settings",然后我有 appsettings.Development.jsonappsettings.Production.json

当我从 Visual Studio 进行发布时,似乎只复制了 appsettings.json 而没有添加/合并,甚至只是向部署文件夹发送了一个简单的副本,对我来说这个任务应该是纳入部署管道。

问题是:我该怎么做?我错过了什么?难道这些动作不应该已经包含在流程中了吗?

确保您的 project.json 将这些文件包含在要发布的文件列表中 and/or 复制到输出:

"buildOptions": {
  "copyToOutput": [
    ...
    "appsettings.json",
    "appsettings.*.json",
    ...
  ],
}

"publishOptions": {
  "include": [
    ...
    "appsettings.json",
    "appsettings.*.json",
    ...
  ]
}

这些文件不会合并为一个文件。它们将在运行时由配置系统逻辑合并。