在Teamcity Build Step中应用web.config转换

时间:2016-09-19 09:12:32

标签: msbuild teamcity

我正在尝试在团队城市上运行MSBuild任务,该任务也会转换web.casper.config文件。

我尝试了各种开关,但可以做到这一点。这很可能意味着有一种不同的方式来实现我想要的结果(如发布)。

我试过了: -

/t:TransformWebConfig /p:TransformWebConfig=true

基本上我想   - 将website.csproj构建到自定义目录中   - 然后在web.casper.config上应用web.config转换

有人可以帮忙吗?

Team city settings

1 个答案:

答案 0 :(得分:1)

似乎有效的一件事(不确定它是否是最好的方法)是在网站的csproj文件中添加一个before / after构建事件,例如

  <Target Name="BeforeBuild">
    <Copy SourceFiles="Web.config" DestinationFiles="Web.temp.config"
         OverwriteReadOnlyFiles="True" />
    <TransformXml Source="Web.temp.config" Transform="Web.$(Configuration).config" 
         Destination="Web.config" />
  </Target>
  <Target Name="AfterBuild">
    <Copy SourceFiles="Web.temp.config" DestinationFiles="Web.config"   
       OverwriteReadOnlyFiles="True" />
    <Delete Files="Web.temp.config" />
  </Target>

这基本上将web.config复制到web.temp.config,然后使用casper配置进行转换。

Source from SO