Open
Description
This was reported as a Connect issue.
The repro is simple:
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<MyItem Include="MyDir\**\*.*" Exclude="MyDir\node_modules\**\*.*;MyDir\tmp\**\*.*" />
</ItemGroup>
<Target Name="TestInputs">
<Warning Text="Inputs = @(MyItem)" />
</Target>
</Project>
Where there are files in MyDir\node_modules
that exceed MAX_PATH
. That returns:
C:\Users\raines\Downloads>msbuild test.proj
Microsoft (R) Build Engine version 14.0.24720.0
Copyright (C) Microsoft Corporation. All rights reserved.
Build started 12/16/2015 12:46:15 PM.
Project "C:\Users\raines\Downloads\test.proj" on node 1 (default targets).
C:\Users\raines\Downloads\test.proj(8,3): warning : Inputs = MyDir\**\*.*
Done Building Project "C:\Users\raines\Downloads\test.proj" (default targets).
Build succeeded.
Note that the wildcards weren't actually expanded.
The original issue mentions an expectation that the Exclude
element would prevent this from happening because that directory and all its contents are excluded. The reason that doesn't work is because we build the Include
list fully first, then build the Exclude
list, then do a subtraction. The failure occurs when building the Include
list, so Exclude
has no effect.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment