public ProjectHierarchyCache()

in EnvDTE.Client/Impl/ProjectModelImpl/ProjectHierarchyCache.cs [15:31]


    public ProjectHierarchyCache(DteImplementation dte)
    {
        _dte = dte;

        dte.DteProtocolModel.ProjectHierarchyCache_add_Project.Advise(dte.DteLifetime, OnProjectAdded);
        dte.DteProtocolModel.ProjectHierarchyCache_remove_Project.Advise(dte.DteLifetime, OnProjectRemoved);
        dte.DteProtocolModel.ProjectHierarchyCache_update_Project.Advise(dte.DteLifetime, OnProjectUpdated);

        lock (_lock)
        {
            // Could take a bit longer then max Rpc timeout, so we use Start
            var initialProjects = dte.DteProtocolModel.ProjectHierarchyCache_requestInitialization
                .Start(dte.DteLifetime, Unit.Instance)
                .GetAwaiter().GetResult();
            PopulateCache(initialProjects);
        }
    }