4 instantiations of ProjectImportElement
Microsoft.Build (4)
Construction\ProjectImportElement.cs (2)
148return new ProjectImportElement(element, containingProject) { Project = project }; 163return new ProjectImportElement(element, containingProject)
Evaluation\ProjectParser.cs (1)
469return new ProjectImportElement(element, parent, _project, sdk);
ObjectModelRemoting\LinkedObjectFactory.cs (1)
145return new ProjectImportElement(link);
69 references to ProjectImportElement
Microsoft.Build (69)
Construction\ProjectImportElement.cs (2)
145internal static ProjectImportElement CreateDisconnected(string project, ProjectRootElement containingProject) 155internal static ProjectImportElement CreateImplicit(
Construction\ProjectImportGroupElement.cs (4)
53public ICollection<ProjectImportElement> Imports => GetChildrenOfType<ProjectImportElement>(); 63public ProjectImportElement AddImport(string project) 67ProjectImportElement newImport = ContainingProject.CreateImportElement(project);
Construction\ProjectRootElement.cs (14)
338public ICollection<ProjectImportElement> Imports => new ReadOnlyCollection<ProjectImportElement>(GetAllChildrenOfType<ProjectImportElement>()); 952public ProjectImportElement AddImport(string project) 959ProjectImportElement import; 1272public ProjectImportElement CreateImportElement(string project) 1274return Link != null ? RootLink.CreateImportElement(project) : ProjectImportElement.CreateDisconnected(project, this); 1900/// Creates and returns a list of <see cref="ProjectImportElement"/> nodes which are implicitly 1905internal List<ProjectImportElement> GetImplicitImportNodes(ProjectRootElement currentProjectOrImport) 1907var nodes = new List<ProjectImportElement>(); 1914nodes.Add(ProjectImportElement.CreateImplicit("Sdk.props", currentProjectOrImport, ImplicitImportLocation.Top, referencedSdk, this)); 1915nodes.Add(ProjectImportElement.CreateImplicit("Sdk.targets", currentProjectOrImport, ImplicitImportLocation.Bottom, referencedSdk, this)); 1928nodes.Add(ProjectImportElement.CreateImplicit("Sdk.props", currentProjectOrImport, ImplicitImportLocation.Top, referencedSdk, sdkNode)); 1929nodes.Add(ProjectImportElement.CreateImplicit("Sdk.targets", currentProjectOrImport, ImplicitImportLocation.Bottom, referencedSdk, sdkNode));
Construction\Solution\SolutionProjectGenerator.cs (10)
931ProjectImportElement importBefore = traversalProject.CreateImportElement(@"$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\SolutionFile\ImportBefore\*"); 934ProjectImportElement importAfter = traversalProject.CreateImportElement(@"$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\SolutionFile\ImportAfter\*"); 974ProjectImportElement directorySolutionPropsImport = traversalProject.CreateImportElement("$(DirectorySolutionPropsPath)"); 992ProjectImportElement directorySolutionTargetsImport = traversalProject.CreateImportElement("$(DirectorySolutionTargetsPath)"); 998(ProjectImportElement importBeforeLocal, ProjectImportElement importAfterLocal) = CreateBeforeAndAfterSolutionImports(traversalProject); 1067private (ProjectImportElement ImportBeforeSln, ProjectImportElement ImportAfterSln) CreateBeforeAndAfterSolutionImports(ProjectRootElement traversalProject) 1078ProjectImportElement importBeforeLocal = traversalProject.CreateImportElement(localFile); 1082ProjectImportElement importAfterLocal = traversalProject.CreateImportElement(localFile);
Definition\Project.cs (3)
3930if (!(element is ProjectImportElement import)) 4530public void RecordImport(ProjectImportElement importElement, ProjectRootElement import, int versionEvaluated, SdkResult sdkResult) 4539public void RecordImportWithDuplicates(ProjectImportElement importElement, ProjectRootElement import, int versionEvaluated)
Definition\ResolvedImport.cs (3)
21internal ResolvedImport(ProjectImportElement importingElement, ProjectRootElement importedProject, int versionEvaluated, SdkResult sdkResult, bool isImported) 35internal ResolvedImport(Project project, ProjectImportElement importingElement, ProjectRootElement importedProject, int versionEvaluated, SdkResult sdkResult) 50public ProjectImportElement ImportingElement { get; }
Evaluation\Evaluator.cs (16)
106private readonly Dictionary<string, ProjectImportElement> _importsSeen; 113private List<(ProjectRootElement ImportedProject, ProjectImportElement ImportingElement, SdkResult SdkResult)> _resolvedImports; 261_importsSeen = new Dictionary<string, ProjectImportElement>(StringComparer.OrdinalIgnoreCase); 903List<ProjectImportElement> implicitImports = currentProjectOrImport.GetImplicitImportNodes(currentProjectOrImport); 906foreach (var import in implicitImports) 934case ProjectImportElement import: 956foreach (var import in implicitImports) 1414private void EvaluateImportElement(string directoryOfImportingFile, ProjectImportElement importElement) 1448foreach (ProjectImportElement importElement in importGroupElement.Imports) 1528private List<ProjectRootElement> ExpandAndLoadImports(string directoryOfImportingFile, ProjectImportElement importElement, out SdkResult sdkResult) 1710ProjectImportElement importElement, 2032private LoadImportsResult ExpandAndLoadImportsFromUnescapedImportExpression(string directoryOfImportingFile, ProjectImportElement importElement, string unescapedExpression, 2179ProjectImportElement previouslyImportedAt; 2405private bool IntroducesCircularity(string importFileUnescaped, ProjectImportElement importElement) 2514if (element is ProjectPropertyGroupElement || element is ProjectImportElement || element is ProjectImportGroupElement) 2537private void ThrowForImportedProjectWithSearchPathsNotFound(ProjectImportPathMatch searchPathMatch, ProjectImportElement importElement)
Evaluation\IEvaluatorData.cs (2)
303void RecordImport(ProjectImportElement importElement, ProjectRootElement import, int versionEvaluated, SdkResult sdkResult); 308void RecordImportWithDuplicates(ProjectImportElement importElement, ProjectRootElement import, int versionEvaluated);
Evaluation\LazyItemEvaluator.cs (1)
109if (element is ProjectPropertyGroupElement || element is ProjectImportElement || element is ProjectImportGroupElement)
Evaluation\LazyItemEvaluator.EvaluatorData.cs (2)
219public void RecordImport(ProjectImportElement importElement, ProjectRootElement import, int versionEvaluated, SdkResult sdkResult) 224public void RecordImportWithDuplicates(ProjectImportElement importElement, ProjectRootElement import, int versionEvaluated)
Evaluation\ProjectParser.cs (2)
436ProjectImportElement item = ParseProjectImportElement(childElement, importGroup); 447private ProjectImportElement ParseProjectImportElement(XmlElementWithLocation element, ProjectElementContainer parent)
Evaluation\PropertyTrackingEvaluatorDataWrapper.cs (2)
181public void RecordImport(ProjectImportElement importElement, ProjectRootElement import, int versionEvaluated, SdkResult sdkResult) => _wrapped.RecordImport(importElement, import, versionEvaluated, sdkResult); 182public void RecordImportWithDuplicates(ProjectImportElement importElement, ProjectRootElement import, int versionEvaluated) => _wrapped.RecordImportWithDuplicates(importElement, import, versionEvaluated);
Instance\ProjectInstance.cs (2)
1926ProjectImportElement importElement, 1945void IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.RecordImportWithDuplicates(ProjectImportElement importElement, ProjectRootElement import, int versionEvaluated)
ObjectModelRemoting\ConstructionObjectLinks\ProjectImportElementLink.cs (3)
10/// Allow for creating a local representation to external object of type <see cref="ProjectImportElement"/> 15/// Access to remote <see cref="ProjectImportElement.ImplicitImportLocation"/>. 20/// Access to remote <see cref="ProjectImportElement.OriginalElement"/>.
ObjectModelRemoting\ConstructionObjectLinks\ProjectRootElementLink.cs (1)
76public abstract ProjectImportElement CreateImportElement(string project);
ObjectModelRemoting\LinkedObjectFactory.cs (2)
119public ResolvedImport Create(ProjectImportElement importingElement, ProjectRootElement importedProject, int versionEvaluated, SdkResult sdkResult, bool isImported) 143public ProjectImportElement Create(ProjectImportElementLink link)