我有一个MSBuild ItemGroup
,我希望能够echo
它在“后生成事件”。
然而,当我尝试的命令,如: echo My ItemGroup: @(Foo)
我得到的错误:
错误MSB4164:值“回声我的ItemGroup:@(美孚)”元数据“命令”中包含的项目列表表达式。 项目列表表达式是不允许在默认元数据值。
我不是很好用ItemGroup
S作为呢。 有没有办法我只能echo
的文件列表中Foo
含?
我有一个MSBuild ItemGroup
,我希望能够echo
它在“后生成事件”。
然而,当我尝试的命令,如: echo My ItemGroup: @(Foo)
我得到的错误:
错误MSB4164:值“回声我的ItemGroup:@(美孚)”元数据“命令”中包含的项目列表表达式。 项目列表表达式是不允许在默认元数据值。
我不是很好用ItemGroup
S作为呢。 有没有办法我只能echo
的文件列表中Foo
含?
你会想是这样的:
<ItemGroup>
<ForcedUsingFilesList Include="c:\path\to\files\*" />
</ItemGroup>
<Target Name="MyTarget">
<PropertyGroup>
<MyFiles>
@(ForcedUsingFilesList->'%(FullPath)')
</MyFiles>
</PropertyGroup>
<Exec>echo $(MyFiles)</Exec>
</Target>
尝试%(Foo.Identity)
来代替。 这将从列表打印只是一个项目,但会导致包含它的任务( Exec
我想)遍历的项目。
如果还是不行,一定要与XML文件,而不是直接将IDE的工作,如果它逃跑的事情或其他代码,我们没有看到所说。
(后下)它可能会像这个帖子 ,他们感叹它不是简单的和需要XML的直接编辑反正。 因此,只要将其更改为Exec
其中ITEMLIST表达出现在一个属性,而不是一个元数据定义任务。
这是写的PostBuildEvent
更多的是向后兼容的东西,好一个使用的是AfterBuild
目标,即“能够包含任意的MSBuild任务,其中包括一个或多个Exec
任务......它不具有自定义UI在IDE ...在布赖恩Kretzler的书编辑为XML ...”提示43。