anchor.diff:              let projectGuid = Guid(site.ProjectGuid)
               let projectFileName = site.ProjectFileName()
               let projectDisplayName = projectDisplayNameOf projectFileName
  +
               let projectId = workspace.ProjectTracker.GetOrCreateProjectIdForPath(projectFileName, projectDisplayName)
   
               if isNull (workspace.ProjectTracker.GetProject projectId) then
                   projectInfoManager.UpdateProjectInfo(tryGetOrCreateProjectId workspace, projectId, site, workspace, userOpName)
                   let projectContextFactory = package.ComponentModel.GetService<IWorkspaceProjectContextFactory>();
                   let errorReporter = ProjectExternalErrorReporter(projectId, "FS", this.SystemServiceProvider)
  -                
  +
                   let hierarchy =
                       site.ProjectProvider
                       |> Option.map (fun p -> p :?> IVsHierarchy)
                       |> Option.toObj
  -                
  +
                   // Roslyn is expecting site to be an IVsHierarchy.
                   // It just so happens that the object that implements IProvideProjectSite is also
                   // an IVsHierarchy. This assertion is to ensure that the assumption holds true.
  
positive.code: 
      let optionsAssociation = ConditionalWeakTable<IWorkspaceProjectContext, string[]>()
  
      override this.Initialize() =
          base.Initialize()
  
  
negative.code:                 for referencedSite in ProjectSitesAndFiles.GetReferencedProjectSites (site, this.SystemServiceProvider) do
                      let referencedProjectId = setup referencedSite                    
                      project.AddProjectReference(ProjectReference referencedProjectId)
  
                  lock lockObj (fun () -> 
                      if not (workspace.ProjectTracker.ContainsProject(project)) then 
                          workspace.ProjectTracker.AddProject(project) |> ignore
                  )
  
              projectId
          setup (siteProvider.GetProjectSite()) |> ignore
  
  