我想要完成的是在构建期间检测项目的更改,以便我可以设置一个标志来指示项目已更改。我已经弄清楚了如何通过使用增量构建和 CoreCompileDependsOn 来检测 C# 组件何时发生变化。但这似乎不会在项目的内容文件发生更改时触发。据我了解,根据项目中内容文件的设置,将在某处指定 SkipUnchangedFiles="true" 的复制任务,复制到输出目录(不要复制,始终复制,如果较新则复制)。我不完全确定这个过程发生在哪里,可能是 Microsoft.CSharp。目标文件?有人可以建议我如何添加一个仅在将更新的文件复制到 bin 输出时才执行的依赖任务?一个非常简单的例子就足够了。
问问题
1067 次
1 回答
2
我想到了。仅当在构建过程中更改了任何设置了“如果较新时复制”的内容文件时,这将写入一个带有项目名称的文本文件:
<Target Name="ContentFilesUpdated" AfterTargets="_CopyOutOfDateSourceItemsToOutputDirectory" Condition="'$(IsDesktopBuild)' == 'False'">
<WriteLinesToFile
File="@(ProductChangeFile)"
Lines="$(ProjectName)"
Overwrite="false"
Encoding="Unicode" Condition="!Exists('@(ProductChangeFile)')"/>
于 2016-11-11T17:45:15.910 回答