所以我要完成的是在构建上转换所有配置文件。
- web.config
- app.config
- .... 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项目而言,慢猎豹没有进行转换。经过一些研究,我发现了这一点:"对于Web项目,发布或打包应用程序时,文件将被转换。"从慢速猎豹扩展页面。确实,当我发布Web项目时,转换完成了正确的完成。
那么,如何更改慢速猎豹默认行为并在构建服务器上执行所有变换?
环境:
- TFS 2010
- build Server上的慢速猎豹版本:1.0.10727.0
,所以我如何修复。我已经编辑了slowcheetah的目标文件
可以找到C: Users builduser appdata local Microsoft msbuild slowcheetah v1在您的构建服务器上。打开文件并找到以下行:
<BuildDependsOn Condition=" '$(IsWap)'!='true' ">
<BuildDependsOn>
$(BuildDependsOn);
TransformAllFiles
</BuildDependsOn>
我已经删除了条件。
结果:
<BuildDependsOn>
$(BuildDependsOn);
TransformAllFiles
</BuildDependsOn>
如今有一个更好的解决方案。只需使用TransformXML MSBUILD任务即可。我认为,由于此功能是MSBUILD的本地,因此无法继续保持缓慢的猎豹。有关更多信息,请访问https://msdn.microsoft.com/en-us/library/dd465326(v = vs.110).aspx