私は、拡張子に基づいていくつかのファイルを選択するが、いくつかのフォルダは処理されないようにするタスクがある。問題は、Excludeフィルタがすべてのファイルが含まれている最後にIncludeフィルタの前に適用されているようです。MSBuild exclude/include order
私はファイル選択場所です。この場合
<CreateItem Exclude="**\.svn\**;
$(MSBuildProjectDirectory)\obj\**;
$(MSBuildProjectDirectory)\bin\**;
$(MSBuildProjectDirectory)\My Project\*.*;
$(MSBuildProjectDirectory)\Properties\*.*;
$(MSBuildProjectDirectory)\Dependencies\*.*;
$(MSBuildProjectDirectory)\Installation\**;
$(MSBuildProjectDirectory)\Extenders\**\*.*"
Include="$(MSBuildProjectDirectory)\**\*.ascx;
$(MSBuildProjectDirectory)\**\*.aspx;
$(MSBuildProjectDirectory)\**\*.css;
$(MSBuildProjectDirectory)\**\*.xml;
$(MSBuildProjectDirectory)\**\*.xslt;
$(MSBuildProjectDirectory)\**\*.js;
$(MSBuildProjectDirectory)\**\*.resx;
$(MSBuildProjectDirectory)\**\*.rpt;
$(MSBuildProjectDirectory)\**\*.gif;
$(MSBuildProjectDirectory)\**\*.jpg;
$(MSBuildProjectDirectory)\**\*.png;"
>
を「除外」フォルダのいずれかが拡張子が「含める」リストと一致し、それはまだする任意のファイルが含まれている場合最終的なリストに含めることができます。
したがって、除外されたフォルダのすべてのファイルが実際に除外されるようにするにはどうすればよいのでしょうか。
EDIT:MsBuildファイルにこれが失敗する原因となった別の問題があるようです。 期待どおりに動作しています。
Include属性なしでExclude属性を持つItemGroup要素を持つことはできません。したがって、最初のサンプルはコンパイルされません。 – realMarkusSchmidt
ありがとう!私はそれが解析される場合、私は正しくチェックしなかった、私は次回より慎重になります。混乱を避けるためにこの例を削除しました –
あなたがする必要はなかったとしても、答えをありがとう。あなたは確かに私を助けました。 –