2012-06-04 3 views
0

Нижеприведенный код отлично подходит для копирования файлов с Source в Destination folder. Я хочу сделать скопированные файлы в порядке, например, 1.zip.exe 2.NetFx.exe и т. Д. Или I.zip.exe II.NetFx.exe и т. Д.MsBuild: Добавить текст или пользовательскую информацию к файлам

В основном я хочу сказать пользователю установить инструменты на заказ. Как я могу это сделать??? Пожалуйста, дайте мне представление ...!

<PropertyGroup Condition="'$(OutDir)'==''"> 
      <OutDir>..\..\..\OutputSetup\</OutDir> 
    </PropertyGroup> 

    <ItemGroup> 
     <SourceFiles Include="..\tools\zip\**\*.*"/> 
     <SourceFiles Include="..\tools\NetFx\**\*.*"/> 
    </ItemGroup> 


    <Target Name="CopyTools"> 

      <Copy SourceFiles="@(SourceFiles)" DestinationFiles="@($(OutDir)\%(RecursiveDir)%(Filename)%(Extension)" /> 
    </Target> 
+0

Не уверен, что вы просите. Заказ в MSBuild накладывается [целевыми зависимостями] (http://msdn.microsoft.com/en-us/library/ee216359.aspx): DependsOnTargets, BeforeTargets, AfterTargets. Если вам нужен гарантированный порядок выполнения, создайте отдельные объекты для этих элементов и настройте зависимости между ними. –

+0

@Seva Titov: Я хочу сообщить пользователю установку по заказу, поэтому я хочу пометить инструменты по заказу, например '1.zip.exe 2.NetFx.exe'. Спасибо. – linguini

ответ

1

Я надеюсь, что вы можете решить эту проблему следующим кодом, как показано ниже:

<PropertyGroup Condition="'$(OutDir)'==''"> 
    <OutDir>..\..\..\OutputSetup\</OutDir> 
</PropertyGroup> 

<ItemGroup> 
    <SourceFiles Include="..\tools\zip\**\*.*"> 
     <Number>1</Number> 
    </SourceFiles> 
    <SourceFiles Include="..\tools\NetFx\**\*.*"> 
     <Number>2</Number> 
    </SourceFiles> 
</ItemGroup> 


<Target Name="CopyTools"> 

    <Copy SourceFiles="@(SourceFiles)" DestinationFiles="@($(OutDir)\%(SourceFiles.Number)%(RecursiveDir)%(Filename)%(Extension)" /> 
</Target> 
+0

: Genial, merci. – linguini