2013-03-01 5 views
0

Скажем, у меня есть ItemGroup определяется следующим образом:Как скопировать файлы с MSBuild в ту же папку, но с разными расширениями?

<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 я сделал это неправильно. Может кто-нибудь, пожалуйста, исправьте это для меня?

ответ

1

Я понял это:

Добавление % (RelativeDir) Пункт метаданных решение.

Возможно, другой будет использовать его в качестве примера. Исправленный фрагмент:

<Target Name="CopyUnprotectedFiles"> 
    <!-- Copy unobfuscated file to "unobfuscated file".unobfuscated --> 
<Copy 
    SourceFiles="@(ReactorFile)" 
    DestinationFiles="@(ReactorFile -> '%(RelativeDir)%(Filename)%(Extension)$(ReactorUnObfuscatedFileExt)')" 
    SkipUnchangedFiles="false" 
/> 
</Target> 
Смежные вопросы