9

所以我想要完成的是转换构建中的所有配置文件。

  • 网页配置
  • 应用程序配置
  • ....config.xml

在项目文件中,它们都看起来像这样:

<None Include="FooBar.config.xml">
  <TransformOnBuild>true</TransformOnBuild>
</None>
<None Include="FooBar.config.Release.xml">
  <DependentUpon>FooBar.config.xml</DependentUpon>
  <IsTransformFile>True</IsTransformFile>
</None>

一切都适用于 Windows 服务和 Windows 应用程序。但是对于 web 项目,缓慢的 cheetah 并没有进行转换。经过一些研究,我发现:“对于 web 项目,当您发布或打包应用程序时,文件会被转换。” 从慢猎豹扩展页面。实际上,当我发布 Web 项目时,转换已正确完成。

那么如何更改慢 cheetah 默认行为并在构建服务器上执行所有转换?

环境:

  • TFS 2010
  • 构建服务器上的慢猎豹版本:1.0.10727.0
4

2 回答 2

7

那么我是如何解决这个问题的。我已经编辑了 SlowCheetah 的目标文件

这可以在您的构建服务器上找到 C:\Users\BuildUser\AppData\Local\Microsoft\MSBuild\SlowCheetah\v1。打开文件并找到以下行:

<BuildDependsOn Condition=" '$(IsWap)'!='true' ">
    <BuildDependsOn> 
      $(BuildDependsOn);
      TransformAllFiles
    </BuildDependsOn>

我已经删除了条件。

结果:

<BuildDependsOn> 
  $(BuildDependsOn);
  TransformAllFiles
</BuildDependsOn>
于 2014-02-07T12:43:21.070 回答
-2

这些天有一个更好的解决方案。只需使用 transformxml msbuild 任务。我不认为缓慢的 cheetah 会继续维护,因为这个功能是 msbuild 的原生功能。更多信息请访问https://msdn.microsoft.com/en-us/library/dd465326(v=vs.110).aspx

于 2016-04-28T16:32:09.443 回答