@@ -225,7 +225,7 @@ type internal ProjectSitesAndFiles() =
225225let getReferencesForSolutionService ( solutionService : IVsSolution ) =
226226[|
227227match referencedProjects projectSite, extraProjectInfowith
228- | None , Some(:? VisualStudioWorkspaceImplas workspace) when not ( isNull workspace.CurrentSolution) ->
228+ | _ , Some(:? VisualStudioWorkspaceImplas workspace) when not ( isNull workspace.CurrentSolution) ->
229229let path = projectSite.ProjectFileName
230230if not ( String.IsNullOrWhiteSpace( path)) then
231231match projectIdOptwith
@@ -241,13 +241,15 @@ type internal ProjectSitesAndFiles() =
241241yield Some project.Id, project.FilePath, outputPath, siteProvider
242242| _ -> ()
243243
244- | ( Some references), _ ->
244+ | ( Some references), Some (:? VisualStudioWorkspaceImpl as workspace ) ->
245245for pin referencesdo
246246match solutionService.GetProjectOfUniqueName( p.UniqueName) with
247247| VSConstants.S_ OK, (:? IProvideProjectSiteas ps) ->
248- yield None, p.FileName, ( fullOutputAssemblyPath p) |> Option.defaultValue" " , ps
248+ let path = ps.GetProjectSite() .ProjectFileName
249+ let projectId = workspace.ProjectTracker.GetOrCreateProjectIdForPath( path, projectDisplayNameOf path)
250+ yield Some projectId, p.FileName, ( fullOutputAssemblyPath p) |> Option.defaultValue" " , ps
249251| _ -> ()
250- | None , _ -> ()
252+ | _ -> ()
251253|]
252254let solutionService = try Some( serviceProvider.GetService( typeof< SVsSolution>) :?> IVsSolution) with _ -> None
253255seq { match solutionServicewith