10 instantiations of ProjectReference
Microsoft.CodeAnalysis.ExternalAccess.HotReload (1)
Api\HotReloadMSBuildWorkspace.cs (1)
129return new(
Microsoft.CodeAnalysis.Features (3)
AddImport\CodeActions\ProjectSymbolReferenceCodeAction.cs (1)
45var projectWithAddedReference = project.AddProjectReference(new ProjectReference(FixData.ProjectReferenceToAdd));
AddMissingReference\AddMissingReferenceCodeAction.cs (1)
63new ProjectReference(candidateProjectId), missingAssemblyIdentity);
GenerateType\AbstractGenerateTypeService.Editor.cs (1)
379updatedSolution = updatedSolution.AddProjectReference(triggeringProject.Id, new ProjectReference(projectToBeUpdated.Id));
Microsoft.CodeAnalysis.Workspaces (4)
Serialization\SerializerService_Asset.cs (1)
82return new ProjectReference(projectId, aliases.ToImmutableArrayOrEmpty(), embedInteropTypes);
Workspace\ProjectSystem\ProjectSystemProjectFactory.cs (2)
584var projectReference = new ProjectReference(projectIdToReference, peReference.Properties.Aliases, peReference.Properties.EmbedInteropTypes); 723projectReference = new ProjectReference(
Workspace\Workspace.cs (1)
1475var newProjRef = new ProjectReference(matchingProjectId, pemeta.Properties.Aliases, pemeta.Properties.EmbedInteropTypes);
Microsoft.CodeAnalysis.Workspaces.MSBuild (1)
MSBuild\MSBuildProjectLoader.Worker_ResolveReferences.cs (1)
368var newReference = new ProjectReference(to, aliases);
Microsoft.ML.CodeAnalyzer.Tests (1)
Code\BestFriendTest.cs (1)
74solution = solution.AddProjectReference(projectId, new ProjectReference(projectA.Id));
106 references to ProjectReference
Microsoft.CodeAnalysis.ExternalAccess.HotReload (2)
Api\HotReloadMSBuildWorkspace.cs (2)
125ProjectReference MapProjectReference(ProjectReference pr)
Microsoft.CodeAnalysis.Features (2)
AddMissingReference\AddMissingReferenceCodeAction.cs (2)
15internal sealed class AddMissingReferenceCodeAction(Project project, string title, ProjectReference? projectReferenceToAdd, AssemblyIdentity missingAssemblyIdentity) : CodeAction 18private readonly ProjectReference? _projectReferenceToAdd = projectReferenceToAdd;
Microsoft.CodeAnalysis.Workspaces (87)
Diagnostics\Extensions.cs (1)
400foreach (var projectRef in project.ProjectReferences.OrderBy(r => r.ProjectId.Id))
FindSymbols\Declarations\DeclarationFinder_AllDeclarations.cs (1)
95foreach (var projectReference in project.ProjectReferences)
Log\WorkspaceStructureLogger.cs (1)
153foreach (var projectReference in project.AllProjectReferences)
Serialization\SerializationExtensions.cs (1)
26ProjectReference => WellKnownSynchronizationKind.ProjectReference,
Serialization\SerializerService.cs (1)
120SerializeProjectReference((ProjectReference)value, writer);
Serialization\SerializerService_Asset.cs (2)
67private static void SerializeProjectReference(ProjectReference reference, ObjectWriter writer) 74private static ProjectReference DeserializeProjectReference(ObjectReader reader, CancellationToken cancellationToken)
Workspace\ProjectSystem\ProjectSystemProject.cs (13)
54private readonly List<ProjectReference> _projectReferencesAddedInBatch = []; 55private readonly List<ProjectReference> _projectReferencesRemovedInBatch = []; 665projectUpdateState = TryRemoveConvertedProjectReference_NoLock(projectId, path, properties, projectUpdateState, out var projectReference); 691var projectReferencesCreated = new List<ProjectReference>(); 696projectBeforeMutation.State, path, properties, projectUpdateState, solutionChanges.Solution, out var projectReference); 725List<ProjectReference> projectReferencesRemovedInBatch, 726List<ProjectReference> projectReferencesAddedInBatch) 733foreach (var projectReference in projectReferencesRemovedInBatch) 1130public void AddProjectReference(ProjectReference projectReference) 1147public bool ContainsProjectReference(ProjectReference projectReference) 1158private bool ContainsProjectReference_NoLock(ProjectReference projectReference) 1171public IReadOnlyList<ProjectReference> GetProjectReferences() 1192public void RemoveProjectReference(ProjectReference projectReference)
Workspace\ProjectSystem\ProjectSystemProjectFactory.cs (3)
584var projectReference = new ProjectReference(projectIdToReference, peReference.Properties.Aliases, peReference.Properties.EmbedInteropTypes); 715out ProjectReference? projectReference) 753out ProjectReference? projectReference)
Workspace\ProjectSystem\ProjectSystemProjectFactory.ProjectUpdateState.cs (2)
155public record struct ProjectReferenceInformation(ImmutableArray<string> OutputPaths, ImmutableArray<(string path, ProjectReference ProjectReference)> ConvertedProjectReferences) 157internal ProjectReferenceInformation WithConvertedProjectReference(string path, ProjectReference projectReference)
Workspace\Solution\Project.cs (6)
136public IEnumerable<ProjectReference> ProjectReferences => State.ProjectReferences.Where(pr => this.Solution.ContainsProject(pr.ProjectId)); 142public IReadOnlyList<ProjectReference> AllProjectReferences => State.ProjectReferences; 616public Project AddProjectReference(ProjectReference projectReference) 623public Project AddProjectReferences(IEnumerable<ProjectReference> projectReferences) 629public Project RemoveProjectReference(ProjectReference projectReference) 636public Project WithProjectReferences(IEnumerable<ProjectReference> projectReferences)
Workspace\Solution\ProjectChanges.cs (3)
25public IEnumerable<ProjectReference> GetAddedProjectReferences() 28public IEnumerable<ProjectReference> GetRemovedProjectReferences() 114private static IEnumerable<ProjectReference> GetChangedProjectReferences(Project newProject, Project oldProject)
Workspace\Solution\ProjectDependencyGraph.cs (1)
135internal ProjectDependencyGraph WithProjectReferences(ProjectId projectId, IReadOnlyList<ProjectReference> projectReferences)
Workspace\Solution\ProjectDependencyGraph_AddProjectReference.cs (1)
15internal ProjectDependencyGraph WithAdditionalProjectReferences(ProjectId projectId, IReadOnlyCollection<ProjectReference> projectReferences)
Workspace\Solution\ProjectInfo.cs (7)
130public IReadOnlyList<ProjectReference> ProjectReferences { get; } 162IReadOnlyList<ProjectReference> projectReferences, 196IEnumerable<ProjectReference>? projectReferences, 224IEnumerable<ProjectReference>? projectReferences = null, 265IEnumerable<ProjectReference>? projectReferences = null, 290IReadOnlyList<ProjectReference>? projectReferences = null, 386public ProjectInfo WithProjectReferences(IEnumerable<ProjectReference>? projectReferences)
Workspace\Solution\ProjectReference.cs (8)
17public sealed class ProjectReference : IEquatable<ProjectReference> 41=> this.Equals(obj as ProjectReference); 43public bool Equals(ProjectReference reference) 56public static bool operator ==(ProjectReference left, ProjectReference right) 57=> EqualityComparer<ProjectReference>.Default.Equals(left, right); 59public static bool operator !=(ProjectReference left, ProjectReference right)
Workspace\Solution\ProjectState.cs (3)
677public IReadOnlyList<ProjectReference> ProjectReferences => this.ProjectInfo.ProjectReferences; 827foreach (var projectReference in ProjectReferences) 836public ProjectState WithProjectReferences(IReadOnlyList<ProjectReference> projectReferences)
Workspace\Solution\Solution.cs (9)
642public Solution AddProjectReference(ProjectId projectId, ProjectReference projectReference) 658public Solution AddProjectReferences(ProjectId projectId, IEnumerable<ProjectReference> projectReferences) 667foreach (var projectReference in collection) 688public Solution RemoveProjectReference(ProjectId projectId, ProjectReference projectReference) 719public Solution WithProjectReferences(ProjectId projectId, IEnumerable<ProjectReference>? projectReferences) 1879private void CheckCircularProjectReferences(ProjectId projectId, IReadOnlyCollection<ProjectReference> projectReferences) 1881foreach (var projectReference in projectReferences) 1904private void CheckSubmissionProjectReferences(ProjectId projectId, IEnumerable<ProjectReference> projectReferences, bool ignoreExistingReferences) 1911foreach (var projectReference in projectReferences)
Workspace\Solution\SolutionCompilationState.cs (5)
679ProjectId projectId, IReadOnlyCollection<ProjectReference> projectReferences) 688public SolutionCompilationState RemoveProjectReference(ProjectId projectId, ProjectReference projectReference) 698ProjectId projectId, IReadOnlyList<ProjectReference> projectReferences) 1298ICompilationTracker tracker, ProjectState fromProject, ProjectReference projectReference, bool includeCrossLanguage, CancellationToken cancellationToken) 1343ProjectReference projectReference, ProjectState fromProject, bool includeCrossLanguage, CancellationToken cancellationToken)
Workspace\Solution\SolutionCompilationState.RegularCompilationTracker.cs (4)
497foreach (var projectReference in this.ProjectState.ProjectReferences) 644void AddMetadataReference(ProjectReference projectReference, MetadataReference? metadataReference) 1055foreach (var dependentProjectReference in projectState.ProjectReferences) 1092foreach (var dependentProjectReference in projectState.ProjectReferences)
Workspace\Solution\SolutionState.cs (5)
455foreach (var projectReference in newState.ProjectReferences) 766public StateChange AddProjectReferences(ProjectId projectId, IReadOnlyCollection<ProjectReference> projectReferences) 787public StateChange RemoveProjectReference(ProjectId projectId, ProjectReference projectReference) 827public StateChange WithProjectReferences(ProjectId projectId, IReadOnlyList<ProjectReference> projectReferences) 1402internal bool ContainsProjectReference(ProjectId projectId, ProjectReference projectReference)
Workspace\Solution\SolutionState_Checksum.cs (1)
166foreach (var refProject in projectState.ProjectReferences)
Workspace\Workspace.cs (9)
913protected internal void OnProjectReferenceAdded(ProjectId projectId, ProjectReference projectReference) 930protected internal void OnProjectReferenceRemoved(ProjectId projectId, ProjectReference projectReference) 1475var newProjRef = new ProjectReference(matchingProjectId, pemeta.Properties.Aliases, pemeta.Properties.EmbedInteropTypes); 1879foreach (var removedProjectReference in projectChanges.GetRemovedProjectReferences()) 1885foreach (var addedProjectReference in projectChanges.GetAddedProjectReferences()) 2114protected virtual void ApplyProjectReferenceAdded(ProjectId projectId, ProjectReference projectReference) 2125protected virtual void ApplyProjectReferenceRemoved(ProjectId projectId, ProjectReference projectReference) 2359protected void CheckProjectHasProjectReference(ProjectId fromProjectId, ProjectReference projectReference) 2372protected void CheckProjectDoesNotHaveProjectReference(ProjectId fromProjectId, ProjectReference projectReference)
Microsoft.CodeAnalysis.Workspaces.MSBuild (15)
MSBuild\MSBuildProjectLoader.Worker.cs (1)
64private readonly Dictionary<ProjectId, List<ProjectReference>> _projectIdToProjectReferencesMap;
MSBuild\MSBuildProjectLoader.Worker_ResolveReferences.cs (12)
24public ImmutableHashSet<ProjectReference> ProjectReferences { get; } 27public ResolvedReferences(ImmutableHashSet<ProjectReference> projectReferences, ImmutableArray<MetadataReference> metadataReferences) 57private readonly ImmutableHashSet<ProjectReference>.Builder _projectReferences; 64_projectReferences = ImmutableHashSet.CreateBuilder<ProjectReference>(); 93public void AddProjectReference(ProjectReference projectReference) 98public void SwapMetadataReferenceForProjectReference(ProjectReference projectReference, params string?[] possibleMetadataReferencePaths) 180private ImmutableHashSet<ProjectReference> GetProjectReferences() 247var newProjectReference = CreateProjectReference(from: id, to: unknownProjectId, [.. aliases]); 308var newProjectReference = CreateProjectReference(from: id, to: projectReferenceInfo.Id, aliases); 366private ProjectReference CreateProjectReference(ProjectId from, ProjectId to, ImmutableArray<string> aliases) 368var newReference = new ProjectReference(to, aliases); 402var newProjectReference = CreateProjectReference(from: id, to: projectReferenceId, aliases);
MSBuild\MSBuildWorkspace.cs (2)
657protected override void ApplyProjectReferenceAdded(ProjectId projectId, ProjectReference projectReference) 672protected override void ApplyProjectReferenceRemoved(ProjectId projectId, ProjectReference projectReference)