Как вы фильтруете ItemGroup?

Я пытаюсь создать отфильтрованную группу элементов из другой, где отфильтрованная группа элементов будет содержать только элементы из первой группы с указанным расширением файла.

Я получаю следующую ошибку:

ошибка MSB4190: ссылка на встроенные метаданные «Расширение» в позиции 1 недопустима в этом состоянии «% (расширение)» == '. sys' ».

Когда я запускаю это:

<?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>

Во-первых, я не могу понять, почему метаданные не разрешены в этой позиции? Это какое-то искусственное ограничение или неосуществленная часть msbuild?

Во-вторых, каков краткий способ достижения такого преобразования?

Большое спасибо.

Ответы на вопрос(1)

Ваш ответ на вопрос