我的项目中有多个环境 - 一个开发,三个测试环境,一个集成环境和最终生产环境。
因此,我们决定选择环境特定的appsettings.ENVNAME.json
如this answer中所述,我们关注project.json
-
"publishOptions": {
"include": [
...
"appsettings.json",
"appsettings.*.json",
...
]
}
通过这样做,我们甚至在不同的测试环境中发布了appsetting.PROD.json,这是错误的。
据我所知,我们可以在启动时控制appsettings文件的加载 -
.AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true);
但在这种情况下,其他文件也可用。 (有人错误地更改了env名称,它将开始获取其他环境的详细信息)
现在(根据我们的审核小组),我们需要将特定于环境的 appsettings.ENVNAME.json 发布到相应的环境。
如何使用project.json实现这一目标?我们需要为此编写单独的脚本吗?解决这种情况的最佳方法是什么?
答案 0 :(得分:0)
出于安全原因(有意或有误),我(个人)避免将存档/生产配置文件包含在存储库或用于开发的计算机上。这些文件可能包含敏感信息,正如您所说,如果使用或修改了错误的配置文件,可能会出现重大错误。
此外,用于生产的配置文件不会改变太多,因此您可以在需要时手动修改它。总而言之,我每个环境只使用一个appsettings.json
。在我看来,它更安全,更容易。