Я пытаюсь изменить цели stylecop, чтобы поддерживать добавочную проверку только файлов, которые изменились.
При отладке я вижу, что @(Compile) — это список файлов, которые нужно проверить; однако я хотел бы отфильтровать этот список только для файлов, которые были изменены (т.е. те, которые имеют отметку времени позже, чем целевая dll, на которую, как я знаю, я могу ссылаться как $(TargetPath) ).
Как вы можете повторить вывод этого createitem, «StyleCopFiles» и удалить те файлы, которые не изменились?
Ниже приведена цель, к которой я хотел бы добавить условие фильтра:
<Target Name="SetUpStyleCopProperties">
<!-- Determine what files should be checked. Take all Compile items, but exclude those that have
set ExcludeFromStyleCop=true or ExcludeFromSourceAnalysis=true. -->
<CreateItem Include="@(Compile)" Condition="('%(Compile.ExcludeFromStyleCop)' != 'true') and ('%(Compile.ExcludeFromSourceAnalysis)' != 'true')">
<Output TaskParameter="Include" ItemName="StyleCopFiles"/>
</CreateItem>
<!-- Show list of what files should be excluded. checked. Take all Compile items, but exclude those that have
set ExcludeFromStyleCop=true or ExcludeFromSourceAnalysis=true. -->
<CreateItem Include="@(Compile)" Condition="('%(Compile.ExcludeFromStyleCop)' == 'true') or ('%(Compile.ExcludeFromSourceAnalysis)' == 'true')">
<Output TaskParameter="Include" ItemName="StyleCopExcludedFiles"/>
</CreateItem>
</Target>