我有一个app.config文件(最初)看起来像这样:
<configuration>
<appSettings>
<add key="MySetting" value="[MySetting]" />
</appSettings>
</configuration>
我需要一种在预构建事件中更新'[MySetting]'值的方法,而不会将另一个.config文件复制到此文件中。有没有办法做到这一点?
答案 0 :(得分:1)
您可以使用powershell脚本替换&#39;模板&#39;具有所需的价值。
[IO.File]::ReadAllText("$DIR\app.template.config").Replace("[MySetting]", $MySettingValue) | Set-Content "$DIR\app.config"
<强>更新强>
如果你想混合构建环境--linux和windows,请确保你有一个可以在两个系统上运行的脚本(即python)或使用powershell或(xor ^ _ ^)sed但是可以从两个系统运行使用cmd标签的系统在linux上被忽略 - 有关更多信息,请参阅Cross-platform command line script (e.g. .bat and .sh)
示例:
:; someLinuxCommand.sh
:; exit
windowsCommandHere.cmd