如何将具有MSBuild的文件复制到具有不同扩展名的同一文件夹中?
假设我有一个ItemGroup,定义如下:如何将具有MSBuild的文件复制到具有不同扩展名的同一文件夹中?,msbuild,copy,msbuild-task,Msbuild,Copy,Msbuild Task,假设我有一个ItemGroup,定义如下: <ItemGroup> <ReactorFile Include="MyExecutable\bin\x86\Release\MyExecutable.exe"/> <ReactorFile Include="MyLibrary\bin\x86\Release\MyLibrary*.dll"/> </ItemGroup> 定义了一个PropertyGroup: <PropertyGroup
<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方面的经验,我做错了。
有人能帮我纠正一下吗?我已经弄明白了:
添加%(RelativeDir)项元数据是解决方案
也许其他人会以它为例。
更正的片段是:
<Target Name="CopyUnprotectedFiles">
<!-- Copy unobfuscated file to "unobfuscated file".unobfuscated -->
<Copy
SourceFiles="@(ReactorFile)"
DestinationFiles="@(ReactorFile -> '%(RelativeDir)%(Filename)%(Extension)$(ReactorUnObfuscatedFileExt)')"
SkipUnchangedFiles="false"
/>
</Target>