在ASP.NET 4中,我能够使用app.config XML将变量与Octopus变量进行转换。Appsettings变量转换
<appSettings xdt:Transform="Replace">
<add key="LogLevel" value="#{Project.LogLevel}"/>
我一直在试图寻找类似的.NET Core解决方案,但只能找到合适的环境建议。我想避免每个环境都有不同的.config文件(app.production.json,app.staging.json),我只想拥有另一个app.release.config文件。
从我的使用环境不同的理解,我的JSON应该是这样的:
{
"LogLevel" : Debug
}
它将取代我appsettings.json原始值。但是,就像我提到的,我不想进入文件进行变化。
.NET Core中是否有这样的功能?
{
"LogLevel" : #{Project.LogLevel}
}
有没有类似于八达通中的JSON文件的XDT转换?想要使用Octopus来改变变量,而不是使用硬编码的不同变量的多个环境JSON文件。或者,这种方式是现在改变变量的唯一方法吗? – m1771vw
我没有亲自尝试过这一点,但是你可以将所有变量移动到web.config文件中,并在你的'startup'中使用'AddXMLFile'。cs' - 将更新我上面的答案,以反映相同的结果 – Jaya
进一步研究之后(将需要测试以查看这是否是我需要的),但是Octopus目前实现了JSON转换 - 如果您设置了Octopus变量“ foo“改为值”bar“,它会被写入到目标JSON文件中作为”{“foo”:“bar”}。 [This](http://docs.octopusdeploy.com/display/OD/JSON+Configuration+Variables+Feature)实际上位于您提供的链接的底部,直到我再次阅读它时才完全理解今天,但我确实认为这就是我一直在寻找的!如果这项工作有效,以后还会更新答案。 – m1771vw