我正在尝试从另一个项目组创建筛选的项目组,其中筛选的项目组仅包含第一个组中具有指定文件扩展名的项目。
我得到以下错误:
error MSB4190:在此条件“'%(Extension)'=='.sys'”中不允许引用内置元数据“Extension”的位置1。
当我运行以下内容时:
我得到以下错误:
error MSB4190:在此条件“'%(Extension)'=='.sys'”中不允许引用内置元数据“Extension”的位置1。
当我运行以下内容时:
<?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未实现的部分?
其次,有没有简洁的方法来实现这种转换?
非常感谢。