2012-06-04 46 views
0

以下代碼可以正常工作以將文件從Source複製到Destination folder。我想要複製的文件,例如1.zip.exe 2.NetFx.exe etc ...或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

:熱忱,merci。 – linguini

相關問題