慢速猎豹在建造时不工作

Slow Cheetah not working in when building

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

我可以在预览中看到更改。但是当我在构建时查看配置时,我没有看到它正在转换我的配置文件。我选择了配置并单击构建。我是不是漏了什么

确保项目文件中的配置文件引用为值为True的TransformOnBuild节点,示例如下:

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

与 Kieron 的回答不同,在我的情况下,<TransformOnBuild> 仅为 Designer 设置。只需删除该条件:

<None Include="App.config">
  <SubType>Designer</SubType>
  <TransformOnBuild>true</TransformOnBuild>
</None>

出现同样错误的另一种情况:

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

问题:TransformOnBuild 与 CopyToOutputDirectory!

"TransformOnBuild" 是隐含的 "CopyToOutputDirectory"。如果您同时定义两者,则首先完成转换,然后 "copy" 覆盖您转换后的文件。

我们项目出现这种情况是因为开发者不小心设置了copy标签。看来,顺序并非在所有情况下都相同。删除 CopyToOutputDirectory 可解决此问题。

此版本按预期运行:

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