假设我的ItemGroup定义如下:
<ItemGroup>
<ReactorFile Include="MyExecutable\bin\x86\Release\MyExecutable.exe"/>
<ReactorFile Include="MyLibrary\bin\x86\Release\MyLibrary*.dll"/>
</ItemGroup>
定义了一个PropertyGroup:
<PropertyGroup>
<ReactorUnObfuscatedFileExt>.unobfuscated</ReactorUnObfuscatedFileExt>
</PropertyGroup>
我还在另一个文件中定义了一个目标:
<Target Name="CopyUnprotectedFiles">
<!-- Copy unobfuscated file to "unobfuscated file".unobfuscated -->
<Copy
SourceFiles="@(ReactorFile)"
DestinationFiles="@(ReactorFile -> '%(Filename)%(Extension)$(ReactorUnObfuscatedFileExt)"
SkipUnchangedFiles="false"
/>
</Target>
不幸的是由于我缺乏MSBuild的经验,我做错了。 有人可以帮我纠正一下吗?
答案 0 :(得分:1)
我已经弄明白了:
添加%(RelativeDir)项元数据是解决方案。
也许其他人会以此为例。 更正的片段是:
<Target Name="CopyUnprotectedFiles">
<!-- Copy unobfuscated file to "unobfuscated file".unobfuscated -->
<Copy
SourceFiles="@(ReactorFile)"
DestinationFiles="@(ReactorFile -> '%(RelativeDir)%(Filename)%(Extension)$(ReactorUnObfuscatedFileExt)')"
SkipUnchangedFiles="false"
/>
</Target>