在构建

时间:2015-09-18 19:49:02

标签: visual-studio visual-studio-2010 visual-studio-2012 slowcheetah

我添加了Cheeatah以简化管理我的配置。

我可以在预览中看到更改。但是当我在构建时查看配置时,我看不到它会改变我的配置文件。我选择了配置并单击构建。我错过了什么

2 个答案:

答案 0 :(得分:1)

确保项目文件中的配置文件引用为TransformOnBuild节点,其值为True,下面是一个示例:

<None Include="App.config">
    <TransformOnBuild>True</TransformOnBuild>
</None>

答案 1 :(得分:0)

发生相同错误的另一种情况:

<Content Include="Castle.Config.Xml">
    <TransformOnBuild>true</TransformOnBuild>
    <CopyToOutputDirectory>Always</CopyToOutputDirectory>
 </Content>

问题:TransformOnBuild与CopyToOutputDirectory!

“ TransformOnBuild”是隐式的“ CopyToOutputDirectory”。如果同时定义了两者,则首先完成转换,然后“复制”将覆盖转换后的文件。

由于开发人员意外设置了复制标签,因此发生了我们项目中的这种情况。似乎顺序在所有情况下都不相同。删除CopyToOutputDirectory可解决此问题。

此版本符合预期:

<Content Include="Castle.Config.Xml">
    <TransformOnBuild>true</TransformOnBuild>
</Content>