public void DifferentExcludesOnSameWildcardProduceDifferentResults(bool cacheFileEnumerations) { var projectContents = @" <Project> <ItemGroup> <i Include=`**/*.cs`/> <i Include=`**/*.cs` Exclude=`*a.cs`/> <i Include=`**/*.cs` Exclude=`a.cs;c.cs`/> </ItemGroup> </Project> ".Cleanup(); try { using (var env = TestEnvironment.Create()) { if (cacheFileEnumerations) { env.SetEnvironmentVariable("MsBuildCacheFileEnumerations", "1"); } ObjectModelHelpers.AssertItemEvaluationFromProject( projectContents, inputFiles: new[] { "a.cs", "b.cs", "c.cs" }, expectedInclude: new[] { "a.cs", "b.cs", "c.cs", "b.cs", "c.cs", "b.cs" }); } } finally { FileMatcher.ClearFileEnumerationsCache(); } }