Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在TFS版本中覆盖JSON_Json_Tfs_Azure Devops - Fatal编程技术网

在TFS版本中覆盖JSON

在TFS版本中覆盖JSON,json,tfs,azure-devops,Json,Tfs,Azure Devops,我有一个JSON文件,我想用另一个JSON的数据“覆盖”,但保留任何未更改的内容。对于Azure DevOps管道发行版,有没有一种现成的方法可以做到这一点?有一个名为Config transform的插件,但是它的语法非常奇怪,如果我需要覆盖数组,它就不能正常工作 目标(应“覆盖”的JSON) { “应用设置”:{ “AllowSwaggerRequests”:false, “秘密”:“一些东西” }, “日志记录”:{ “日志级别”:{ “默认值”:“调试” } } } 应该使用并添加到上

我有一个JSON文件,我想用另一个JSON的数据“覆盖”,但保留任何未更改的内容。对于Azure DevOps管道发行版,有没有一种现成的方法可以做到这一点?有一个名为Config transform的插件,但是它的语法非常奇怪,如果我需要覆盖数组,它就不能正常工作

目标(应“覆盖”的JSON)

{
“应用设置”:{
“AllowSwaggerRequests”:false,
“秘密”:“一些东西”
},
“日志记录”:{
“日志级别”:{
“默认值”:“调试”
}
}
}
应该使用并添加到上一个JSON之上的JSON

{
“应用设置”:{
“AllowSwagerRequests”:true,
“秘密”:“覆盖”
},
“TestProperty”:“Hello World”
}
预期结果:

{
“应用设置”:{
“AllowSwagerRequests”:true,
“秘密”:“覆盖”
},
“日志记录”:{
“日志级别”:{
“默认值”:“调试”
}
},
“TestProperty”:“Hello World”
}

这是一个X/Y问题。您可以为.NET核心应用程序指定多个配置文件,即包含常规值的
appsettings.json
,以及包含特定于环境的覆盖的
appsettings.dev.json
。请参阅有关配置的文档

在TFS版本中覆盖JSON

据我所知,扩展中没有这样的任务可以用来同时覆盖+添加节点

另一种方法是使用Krzysztof Madej在您的问题下面建议的内容。(他的答案几个小时前被删除了,但我不知道为什么…)

也可以考虑通过自由任务重写整个JSON文件。您可以在此处为版本的不同阶段定义不同的内容:


只需编写您想要的内容,就不需要关心转换语法。(启用
覆盖文件(如果存在)。

这是一个X/Y问题。您可以为.NET核心应用程序指定多个配置文件,即包含常规值的
appsettings.json
,以及包含特定于环境的覆盖的
appsettings.dev.json
。请参阅有关配置的文档。嗨,朋友,有关于此问题的任何更新吗?它与.NET无关。这个问题实际上是问如何在不丢失任何未被覆盖的内容的情况下向.json文件添加值。