Jak filtrować grupę przedmiotów?

Próbuję utworzyć filtrowaną grupę elementów z innej, w której grupa filtrowanych elementów zawiera tylko elementy z pierwszej grupy, które mają określone rozszerzenie pliku.

Dostaję następujący błąd:

błąd MSB4190: Odwołanie do wbudowanych metadanych „Rozszerzenie” na pozycji 1 nie jest dozwolone w tym warunku „”% (rozszerzenie) ”==”. sys ””.

Kiedy to uruchomię:

<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"
         DefaultTargets="Go"
         ToolsVersion="4.0">

  <ItemGroup>
    <Files Include="X.exe"/>
    <Files Include="Y.sys"/>
  </ItemGroup>

  <ItemGroup>
    <SysFiles Include="%(Files.Identity)" Condition="'%(Extension)'=='.sys'">
    </SysFiles>
  </ItemGroup>

  <Target Name="Go">
    <Message Text="SysFiles=@(SysFiles)"/>
  </Target>

</Project>

Po pierwsze, nie mogę zrozumieć, dlaczego metadane nie są dozwolone w tej pozycji? Czy to jakieś sztuczne ograniczenie lub niezrealizowana część msbuild?

Po drugie, jaki jest zwięzły sposób na osiągnięcie tego rodzaju transformacji?

Dziękuję bardzo.

questionAnswers(1)

yourAnswerToTheQuestion