3
我有一個任務,我選擇一些文件,基於擴展名,但希望一些文件夾沒有被處理。問題在於,似乎Exclude過濾器在包含一個之前應用,因此最後包含所有文件。MSBuild排除/包括命令
這是我選擇的文件:
<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;"
>
在這種情況下,如果任何「排除」文件夾包括其擴展名匹配「包含」列表中的任何文件,它仍然會被列入最終名單。
所以問題是我該如何強制排除文件夾中的所有文件都被排除在外。
編輯:似乎MsBuild文件中有另一個問題導致此失敗。 它按預期工作。
如果沒有包含屬性,您就無法使用排除屬性的ItemGroup元素,因此您的第一個示例將不會編譯... – realMarkusSchmidt
謝謝!如果它解析,我沒有正確檢查,下次我會更加小心。刪除此示例以避免讓人困惑 –
感謝您的答案,即使您沒有必要。你當然幫助過我。 –