2011-01-06 10 views
3

MSBUILDコピータスクを使用する際には、かなりシンプルなはずですが、フォルダを除外するのに問題があります。私は除外するファイルの種類を示していますExcludeFromBuildアイテムを持っているアイテムのグループセクションで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)"/> 

を:ここで私がやっているものです。その上に私は "obj"と "Web References"フォルダを除外したい。

どうすればこの問題を解決できますか?より多くの情報が必要な場合はお知らせください。ありがとうございました。

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

+1

@chwi 'AppFolderWithExclusions'を追加することは違いです。明確にするために私の答えを編集しました。 –

関連する問題