MSBuild <filewrites>项目没有做任何事情</filewrites>

时间:2014-09-01 13:22:48

标签: visual-studio-2010 msbuild

Brian Kretzler的书解释了如何用来记住实际编写的内容,因此即使构建后确切的文件发生了变化,清理也可以正常工作。但是,它对我没有任何作用。

在目标内部,我有

<ItemGroup>
    <FileWrites Include="@(QtUICompile->'$(GeneratedDir)/ui_%(Filename).h)" />
</ItemGroup>

在一种情况下,@ -expression与用于输出的完全相同,并且

<ItemGroup>
    <FileWrites Include="@(QtResourceOutput)" />
</ItemGroup>

在另一种情况下,首先创建项目数组QtResourceOutput并将其用于输出和此处,并且还在消息中使用,以便我可以看到它正确获取文件名,以及注意输出的功能是最新的正确工作。

当我执行清理解决方案(或导致在ClCompile任务之前执行这些目标的项目)时,不会删除这些文件。

我做错了什么?有没有办法解决此功能?

1 个答案:

答案 0 :(得分:0)

我了解到FileWrites项目列表未在C ++项目中使用。为了排除故障,我使用了/ preprocess选项,并在展平的项目文件中查找了FileWrites的用法。清理路径没有使用它,并且看起来ClCompile没有使用它(反正不是在XML脚本中;它可能仍然在我后来学习的任务中做了奇怪的事情)