115 references to ProjectReferences
dotnet-watch (1)
Build\ProjectGraphUtilities.cs (1)
156=> GetTransitiveProjects(projects, static project => project.ProjectReferences);
Microsoft.Build (9)
BackEnd\BuildManager\BuildManager.cs (1)
2097.Where(node => node.ProjectReferences.All(projectReference => finishedNodes.Contains(projectReference)))
Graph\GraphBuilder.cs (1)
468foreach (var referenceNode in node.ProjectReferences)
Graph\ProjectGraph.cs (4)
528foreach (var reference in node.ProjectReferences) 578foreach (var reference in partialRoot.ProjectReferences) 717if (node.ProjectReferences.Count == 0) 726foreach (var referenceNode in node.ProjectReferences)
Graph\ProjectGraphNode.cs (1)
55$"{truncatedProjectFile}, #GlobalProps={ProjectInstance.GlobalProperties.Count}, #Props={ProjectInstance.Properties.Count}, #Items={ProjectInstance.Items.Count}, #in={ReferencingProjects.Count}, #out={ProjectReferences.Count}";
Graph\ProjectInterpretation.cs (2)
254foreach (ProjectGraphNode innerBuild in outerBuild.ProjectReferences) 264if (outerBuildReferencingProject.ProjectReferences.Contains(innerBuild))
Microsoft.Build.Engine.UnitTests (105)
Graph\GraphLoadedFromSolution_tests.cs (7)
625node1.ProjectReferences.Count.ShouldBe(3); 626node1.ProjectReferences.Count(r => GetProjectNumber(r) == 2).ShouldBe(3); 630outerBuild3.ProjectReferences.Count.ShouldBe(3); 631outerBuild3.ProjectReferences.Count(r => GetProjectNumber(r) == 3).ShouldBe(2); 632outerBuild3.ProjectReferences.Count(r => GetProjectNumber(r) == 4).ShouldBe(1); 634GetInnerBuilds(graph, 3).SelectMany(n => n.ProjectReferences).Count(r => GetProjectNumber(r) == 4).ShouldBe(2); 695if (projectConfigurations == null || graphFromSolution.ProjectNodes.All(n => n.ProjectReferences.Count == 0))
Graph\GraphTestingUtilities.cs (5)
50outerBuild.ProjectReferences.Count.ShouldBe(expectedInnerBuildCount); 53foreach (ProjectGraphNode innerBuild in outerBuild.ProjectReferences) 67ProjectGraphNode[] innerBuilds = outerBuildReferencer.ProjectReferences 220foreach (var reference in projectGraphNode.ProjectReferences) 243node.ProjectReferences.Select(GetProjectNumber).ShouldBeSameIgnoringOrder(expectedReferences);
Graph\ProjectGraph_Tests.cs (89)
148node.ProjectReferences.ShouldBeSameIgnoringOrder(new[] { reference1, reference2 }); 152reference1.ProjectReferences.ShouldBeEmpty(); 155reference2.ProjectReferences.ShouldBeEmpty(); 164node.ProjectReferences.ShouldBeEmpty(); 167reference1.ProjectReferences.ShouldBeEmpty(); 170reference2.ProjectReferences.ShouldBeEmpty(); 234GetFirstNodeWithProjectNumber(graph, 1).ProjectReferences.Count.ShouldBe(2); 235GetFirstNodeWithProjectNumber(graph, 2).ProjectReferences.Count.ShouldBe(0); 236GetFirstNodeWithProjectNumber(graph, 3).ProjectReferences.Count.ShouldBe(0); 271node1.ProjectReferences.Count.ShouldBe(2); 272node2.ProjectReferences.Count.ShouldBe(3); 273node3.ProjectReferences.Count.ShouldBe(0); 274node4.ProjectReferences.Count.ShouldBe(0); 275node5.ProjectReferences.Count.ShouldBe(1); 276node6.ProjectReferences.Count.ShouldBe(1); 277node7.ProjectReferences.Count.ShouldBe(0); 288node2.ProjectReferences.ShouldContain(node6); 289node6.ProjectReferences.ShouldContain(node1); 290node1.ProjectReferences.ShouldContain(node5); 291node5.ProjectReferences.ShouldContain(node7); 374root1.ProjectReferences.First(r => GetProjectNumber(r) == 3).ProjectInstance.GlobalProperties.ShouldBeSameIgnoringOrder(globalPropertiesFor1); 375root1.ProjectReferences.First(r => GetProjectNumber(r) == 4).ProjectInstance.GlobalProperties.ShouldBeSameIgnoringOrder(globalPropertiesFor1); 381root2.ProjectReferences.First(r => GetProjectNumber(r) == 4).ProjectInstance.GlobalProperties.ShouldBeSameIgnoringOrder(globalPropertiesFor2); 382root2.ProjectReferences.First(r => GetProjectNumber(r) == 5).ProjectInstance.GlobalProperties.ShouldBeSameIgnoringOrder(globalPropertiesFor2); 410GetFirstNodeWithProjectNumber(graph, 2).ProjectReferences.First().ShouldNotBe(GetFirstNodeWithProjectNumber(graph, 3).ProjectReferences.First()); 411GetFirstNodeWithProjectNumber(graph, 2).ProjectReferences.First().ProjectInstance.FullPath.ShouldEndWith("4.proj"); 412GetFirstNodeWithProjectNumber(graph, 2).ProjectReferences.First().ProjectInstance.GlobalProperties.ShouldBeSameIgnoringOrder(EmptyGlobalProperties); 413GetFirstNodeWithProjectNumber(graph, 3).ProjectReferences.First().ProjectInstance.FullPath.ShouldEndWith("4.proj"); 414GetFirstNodeWithProjectNumber(graph, 3).ProjectReferences.First().ProjectInstance.GlobalProperties.Count.ShouldBeGreaterThan(1); 467var node4A = GetFirstNodeWithProjectNumber(graph, 2).ProjectReferences.First(); 468var node4B = GetFirstNodeWithProjectNumber(graph, 3).ProjectReferences.First(); 471node4A.ProjectReferences.Count.ShouldBe(1); 472node4B.ProjectReferences.Count.ShouldBe(1); 473node4A.ProjectReferences.First().ShouldBe(node4B.ProjectReferences.First()); 504GetFirstNodeWithProjectNumber(graph, 2).ProjectReferences.First().ShouldBe(GetFirstNodeWithProjectNumber(graph, 3).ProjectReferences.First()); 539GetFirstNodeWithProjectNumber(graph, 2).ProjectReferences.First().ShouldBe(GetFirstNodeWithProjectNumber(graph, 3).ProjectReferences.First()); 540GetFirstNodeWithProjectNumber(graph, 2).ProjectReferences.First().ProjectInstance.FullPath.ShouldEndWith("5.proj"); 541GetFirstNodeWithProjectNumber(graph, 2).ProjectReferences.First().ProjectInstance.GlobalProperties["FoO"].ShouldBe("bar"); 544GetFirstNodeWithProjectNumber(graph, 4).ProjectReferences.First().ShouldNotBe(GetFirstNodeWithProjectNumber(graph, 2).ProjectReferences.First()); 545GetFirstNodeWithProjectNumber(graph, 4).ProjectReferences.First().ProjectInstance.FullPath.ShouldEndWith("5.proj"); 546GetFirstNodeWithProjectNumber(graph, 4).ProjectReferences.First().ProjectInstance.GlobalProperties["FoO"].ShouldBe("BAR"); 585node1.ProjectReferences.Count.ShouldBe(1); 586node1.ProjectReferences.First().ShouldBe(node3); 587node2.ProjectReferences.Count.ShouldBe(1); 588node2.ProjectReferences.First().ShouldBe(node3); 617entryPointNode1.ProjectReferences.Count.ShouldBe(1); 618entryPointNode2.ProjectReferences.Count.ShouldBe(1); 619entryPointNode1.ProjectReferences.First().ShouldNotBe(entryPointNode2.ProjectReferences.First()); 620entryPointNode1.ProjectReferences.First().ProjectInstance.FullPath.ShouldBe(entryPointNode2.ProjectReferences.First().ProjectInstance.FullPath); 621entryPointNode1.ProjectReferences.First().ProjectInstance.GlobalProperties["Platform"].ShouldBe("x86"); 622entryPointNode2.ProjectReferences.First().ProjectInstance.GlobalProperties["Platform"].ShouldBe("x64"); 656entryPointNode1.ProjectReferences.Count.ShouldBe(1); 657entryPointNode2.ProjectReferences.Count.ShouldBe(1); 658entryPointNode1.ProjectReferences.First().ShouldBe(entryPointNode2.ProjectReferences.First()); 659entryPointNode1.ProjectReferences.First().ProjectInstance.GlobalProperties.ContainsKey("Platform").ShouldBeFalse(); 872project1Node.ProjectReferences.Count.ShouldBe(3); 873project1Node.ProjectReferences.Select(node => node.ProjectInstance.FullPath).ShouldBe(new[] { project2Path, project3Path, project8Path }, ignoreOrder: true); 878project2Node.ProjectReferences.Count.ShouldBe(1); 879project2Node.ProjectReferences.Select(node => node.ProjectInstance.FullPath).ShouldBe(new[] { project4Path }, ignoreOrder: true); 884project3Node.ProjectReferences.Count.ShouldBe(1); 885project3Node.ProjectReferences.Select(node => node.ProjectInstance.FullPath).ShouldBe(new[] { project5Path }, ignoreOrder: true); 891project4Node.ProjectReferences.Count.ShouldBe(0); 897project5Node.ProjectReferences.Count.ShouldBe(0); 903project6Node.ProjectReferences.Count.ShouldBe(0); 911project8Node.ProjectReferences.Count.ShouldBe(0); 1866foreach (var reference in node.ProjectReferences) 2108innerBuildWithCommonReferences.ProjectReferences.Count.ShouldBe(4); 2109var referenceNumbersSet = innerBuildWithCommonReferences.ProjectReferences.Select(r => Path.GetFileNameWithoutExtension(r.ProjectInstance.FullPath)).ToHashSet(); 2114innerBuildWithAdditionalReferences.ProjectReferences.Count.ShouldBe(8); 2115referenceNumbersSet = innerBuildWithAdditionalReferences.ProjectReferences.Select(r => Path.GetFileNameWithoutExtension(r.ProjectInstance.FullPath)).ToHashSet(); 2148two.ProjectReferences.ShouldHaveSingleItem(); 2149two.ProjectReferences.First().ShouldBe(referencedInnerBuild); 2176rootNode.ProjectReferences.ShouldHaveSingleItem(); 2177var innerBuildNode = rootNode.ProjectReferences.First(); 2181innerBuildNode.ProjectReferences.ShouldHaveSingleItem(); 2182AssertNonMultitargetingNode(innerBuildNode.ProjectReferences.First(), additionalGlobalProperties); 2221var innerBuild1WithReferenceToInnerBuild2 = outerBuild1.ProjectReferences.FirstOrDefault(n => n.ProjectType == ProjectInterpretation.ProjectType.InnerBuild && n.ProjectInstance.GlobalProperties[InnerBuildPropertyName] == "a"); 2236innerBuild1WithReferenceToInnerBuild2.ProjectReferences.ShouldBeSameIgnoringOrder(new[] { outerBuild2, innerBuild2 }); 2369node.ProjectReferences.ShouldBeSameIgnoringOrder(expectedClosure); 2702project1.ProjectReferences.ShouldHaveSingleItem().ShouldBe(project2); 2744project1.ProjectReferences.ShouldHaveSingleItem().ShouldBe(project2);
Graph\ResultCacheBasedBuilds_Tests.cs (2)
451var cacheFilesForReferences = node.ProjectReferences.Where(r => outputCaches.ContainsKey(r)).Select(r => outputCaches[r]).ToArray(); 497foreach (var referenceOutput in node.ProjectReferences.SelectMany(n => expectedNodeBuildOutput[n]))
ProjectCache\ProjectCacheTests.cs (2)
558logger.FullLog.ShouldContain($"EntryPoint: {graph.GraphRoots.First().ProjectReferences.First().ProjectInstance.FullPath}"); 716var referenceBuildTasks = rootNode.ProjectReferences.Select(