如何将ItemList添加到MSBuild中的默认ItemDefinitionGroup元数据?
我试图将给定目录中的所有文件添加到ClCompile元数据的ForcedSingFiles参数中 我正在使用以下代码:如何将ItemList添加到MSBuild中的默认ItemDefinitionGroup元数据?,msbuild,task,Msbuild,Task,我试图将给定目录中的所有文件添加到ClCompile元数据的ForcedSingFiles参数中 我正在使用以下代码: <ItemGroup> <ForcedUsingFilesList Include="c:\path\to\files\*" /> </ItemGroup> <ItemDefinitionGroup> <ClCompile> <ForcedUsingFiles>@(ForcedUsingFi
<ItemGroup>
<ForcedUsingFilesList Include="c:\path\to\files\*" />
</ItemGroup>
<ItemDefinitionGroup>
<ClCompile>
<ForcedUsingFiles>@(ForcedUsingFilesList)</ForcedUsingFiles>
</ClCompile>
</ItemDefinitionGroup>
@(ForcedSingFileList)
但我得到了错误
元数据“ForcedSingFiles”的值“@(ForcedSingFilesList)”
包含项目列表表达式。不支持项目列表表达式
在默认元数据值上允许
你知道我该如何解决这个错误吗
感谢啊,看来我需要添加额外的间接层来将ItemList转换为属性。然后我可以将属性粘贴到ItemDefinitionGroup中 下面的代码实现了这一点,希望有一种更直接的方法来实现这一点:
<ItemGroup>
<ForcedUsingFilesList Include="c:\path\to\files\*" />
</ItemGroup>
<PropertyGroup>
<ForcedUsingFilesList2>
@(ForcedUsingFilesList->'%(FullPath)')
</ForcedUsingFilesList2>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<ForcedUsingFiles>$(ForcedUsingFilesList2)</ForcedUsingFiles>
</ClCompile>
</ItemDefinitionGroup>
@(ForcedSingFileList->'%(完整路径)')
$(ForcedSingFileList2)
@ZimiRizvi有没有一种方法可以在没有中间属性组的情况下实现这一点?我试图在这里做一些几乎相同的事情:@Jonathan Mee我认为没有。如果可能的话,我不知道it@ZimiRizvi如果你在接下来的几天里有时间来回答这个问题:我想这是我最接近得到正确答案的时候了。