在TeamCity中修改App.config的任务

时间:2014-09-09 14:29:29

标签: .net svn msbuild continuous-integration teamcity

TeamCity CI有一个变量%system.build.number%,它将以1.0.%build.counter%.0格式递增。这将每次生成具有不同版本号的程序集。我想在我的app.config文件中添加这个新版本号。什么是最简单的方法。我有100个项目有app.config,大多数都使用相同的程序集。我可以有一个常见的app.config文件,我可以链接和修改它。那么,请提供一个示例,说明如何使用XmlTransform将绑定重定向中的newVersion字段修改为teamcity提供的当前内部版本号。

<?xml version="1.0" encoding="utf-8"?>
<configuration>     
  <runtime>
    <legacyUnhandledExceptionPolicy enabled="1" />
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">     
    <assemblyIdentity name="MyApp.Data.Model" publicKeyToken="866d4a0fa0594321" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-1.0.1.0" newVersion="1.0.2.0" />
    </dependentAssembly>
  </assemblyBinding>
</runtime>

2 个答案:

答案 0 :(得分:1)

您可以使用xdt转换。 以下是powershell函数的片段Web.Config transforms outside of Microsoft MSBuild?

然后创建元运行器(更多帮助http://confluence.jetbrains.com/display/TCD8/Working+with+Meta-Runner)以使用XDT转换配置并在构建步骤中使用它。就是这样:))

您还可以创建msbuild任务并调用msbuild而不是powershell函数。

答案 1 :(得分:0)

我使用XmlPole任务轻松实现这一目标。解决方案可以在我的stackoverflow answer

找到