首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何过滤ItemGroup?

如何过滤ItemGroup?
EN

Stack Overflow用户
提问于 2012-11-01 20:55:28
回答 1查看 2.7K关注 0票数 5

我正在尝试从另一个筛选项目组创建一个筛选项目组,其中筛选的项目组将只包含第一个组中具有指定文件扩展名的项目。

我得到以下错误:

错误扩展名:在此条件“‘%(MSB4190)’==‘.sys’”中不允许引用位置%1处的内置元数据“扩展名”。

当我运行以下命令时:

代码语言:javascript
复制
<?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中未实现的部分?

其次,实现这种转换的简明方法是什么?

非常感谢。

EN

回答 1

Stack Overflow用户

发布于 2012-11-01 21:19:45

好的,我发现如果我指定ItemGroup SysFiles inside目标Go,它将不会出错。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13177552

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档