gpt4 book ai didi

msbuild - 如何过滤 ItemGroup?

转载 作者:行者123 更新时间:2023-12-02 02:07:42 25 4
gpt4 key购买 nike

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

我收到以下错误:

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

当我运行这个时:

<?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 的一些人为限制或未实现的部分吗?

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

非常感谢。

最佳答案

好吧,我发现如果我在目标 Go 中指定 ItemGroup SysFiles,它将正常工作而不会出现错误。

关于msbuild - 如何过滤 ItemGroup?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13177552/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com