private static IVsReferenceItems GetProjectReferences(IImmutableDictionary <string, IImmutableDictionary <string, string> > projectReferenceItems) { IVsReferenceItems referenceItems = GetReferences(projectReferenceItems); // compute project file full path property for each reference foreach (ReferenceItem item in referenceItems) { IVsReferenceProperty fullPathProperty = item.Properties.Item(ProjectReference.FullPathProperty); ((ReferenceProperties)item.Properties).Add(new ReferenceProperty { Name = ProjectFileFullPathProperty, Value = fullPathProperty?.Value }); } return(referenceItems); }
private static IVsReferenceItems GetProjectReferences( IImmutableDictionary <string, IImmutableDictionary <string, string> > projectReferenceItems, UnconfiguredProject project) { IVsReferenceItems referenceItems = GetReferences(projectReferenceItems); // compute project file full path property for each reference foreach (ReferenceItem item in referenceItems) { IVsReferenceProperty definingProjectDirectory = item.Properties.Item(DefiningProjectDirectoryProperty); string projectFileFullPath = definingProjectDirectory != null ? MakeRooted(definingProjectDirectory.Value, item.Name) : project.MakeRooted(item.Name); ((ReferenceProperties)item.Properties).Add(new ReferenceProperty { Name = ProjectFileFullPathProperty, Value = projectFileFullPath }); } return(referenceItems); }