You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在MSBuild文件中获取嵌套TaskItem元数据值?

MSBuild含冒号的TaskItem元数据获取问题解决方法

问题描述

我有一个MSBuild TaskItem,其中包含从JSON配置中收集的元数据。单个元数据示例如下:

%(Configuration.Object:Name)

数组形式的元数据示例如下:

%(Configuration.Object:Name:0)
%(Configuration.Object:Name:1)
...

但尝试获取该键值时,MSBuild仅返回原字符串而非解析后的对应值,似乎无法识别MSBuild文件中的冒号。我已通过将完整TaskItem @(Configuration)传入自定义任务,确认该元数据值存在,也尝试过使用transform语法但无效。请问在MSBuild文件中获取这些值的正确语法是什么?

解决方法

MSBuild里冒号是元数据的默认分隔符,当元数据名称本身包含冒号时,必须用单引号把整个元数据名称包裹起来,防止MSBuild把冒号当成分隔符解析。

单个元数据的正确写法

%(Configuration.'Object:Name')

数组形式元数据的正确写法

%(Configuration.'Object:Name:0')
%(Configuration.'Object:Name:1')

验证方法

可以在项目中添加Message任务测试解析效果:

<Message Text="单个元数据值:%(Configuration.'Object:Name')" />
<Message Text="数组第一个元素:%(Configuration.'Object:Name:0')" />

执行构建后就能看到正确解析后的元数据值,而非原字符串。

内容的提问来源于stack exchange,提问作者Ken Garrett

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 07:14:52