2011-01-06 130 views
3

似乎它應該相當簡單,但在使用MSBUILD複製任務時遇到了排除文件夾的麻煩。下面是我在做什麼:如何使用MSBUILD複製時排除某些文件夾

<ItemGroup> 
     <Compile Include="$(_SolutionPath)$(_SolutionName)" /> 
     <ProjectFiles Include="..\$(_WebDirectory)\*.csproj" Exclude="*.master.csproj"/> 
     <ExcludeFromBuild Include="..\$(_WebDirectory)\**\*.cs; ..\$(_WebDirectory)\**\*.sln; ..\$(_WebDirectory)\**\*.csproj; ..\$(_WebDirectory)\Web References; ..\$(_WebDirectory)\obj;"/> 
     <AppFolder Include="..\$(_WebDirectory)\**\*.*" Exclude="$(ExcludeFromBuild)"/> 
    </ItemGroup> 

<Copy SourceFiles="@(AppFolder)" DestinationFiles="c:\test\%(RecursiveDir)%(FileName)%(Extension)"/> 

在項目組部分我有一個ExcludeFromBuild項,其中列出了我要排除的文件類型。最重要的是,我想排除「obj」和「Web引用」文件夾。

我該如何做到這一點?請讓我知道是否需要更多信息。謝謝。

shahzad

回答

4

您需要爲此創建一個新的ItemGroup。我已經添加AppFolderWithExclusions如下:

<ItemGroup> 
    <Compile Include="$(_SolutionPath)$(_SolutionName)" /> 
    <ProjectFiles Include="..\$(_WebDirectory)\*.csproj" Exclude="*.master.csproj"/> 
    <ExcludeFromBuild Include="..\$(_WebDirectory)\**\*.cs; ..\$(_WebDirectory)\**\*.sln; ..\$(_WebDirectory)\**\*.csproj; ..\$(_WebDirectory)\Web References; ..\$(_WebDirectory)\obj;"/> 
    <AppFolder Include="..\$(_WebDirectory)\**\*.*" Exclude="$(ExcludeFromBuild)"/> 

    <AppFolderWithExclusions Include="@(AppFolder)" Exclude="obj\**\*.*;Web References\**\*.*" /> 
</ItemGroup> 

(未經測試,可能包括語法拼寫錯誤)

+0

什麼是從這裏原來的問題實際的區別是什麼? – chwi 2015-09-02 09:02:27

+1

@chwi添加'AppFolderWithExclusions'是區別。編輯我的答案澄清。 – 2015-09-02 11:12:44

相關問題