我正在尝试创建一个名为“文件”(Files)的任务项组,其中包含一个名为“TargetPath”的元数据属性,该属性填充了到文件的相对路径。
示例:
对于以下路径:
D:\Test\Blah.exe
D:\Test\Config\fun.config
D:\Test\en-US\my.resources.dll
输出应为:
文件目标 = Blah.exe
文件目标 = Config\fun.config
文件目标 = en-US\my.resources.dll
这是我的最佳尝试,希望这可以使我的问题更清晰明了:
<ItemGroup>
<Files Include="d:\test\**\*" >
<TargetPath>%(RecursiveDir)%(Filename)%(Extension)</TargetPath>
</Files>
</ItemGroup>
<Message Text="File Target = @(Files->'%(TargetPath)')"/>
我希望“TargetPath”被正确地填充... 目前似乎是 null 或者空值。 有人知道我缺少什么吗?
编辑:
是的,我意识到我可以这样做:
<Message Text="File Target = @(Files->'%(RecursiveDir)%(Filename)%(Extension)')"/>
然而,我正在构建这个ItemGroup以使用ResolveManifestFiles MSBuild任务,该任务要求我构建一个带有TargetPath元数据属性的TaskItem,以便能够自定义该值。