protected override void EnableService()
        {
            // Our service has been enabled.  Now load the VS package dlls.
            var componentModel = _workspace.GetVsService <SComponentModel, IComponentModel>();

            var packageInstallerServices = componentModel.GetExtensions <IVsPackageInstallerServices>().FirstOrDefault();
            var packageInstaller         = componentModel.GetExtensions <IVsPackageInstaller>().FirstOrDefault();
            var packageUninstaller       = componentModel.GetExtensions <IVsPackageUninstaller>().FirstOrDefault();
            var packageSourceProvider    = componentModel.GetExtensions <IVsPackageSourceProvider>().FirstOrDefault();

            if (packageInstallerServices == null ||
                packageInstaller == null ||
                packageUninstaller == null ||
                packageSourceProvider == null)
            {
                return;
            }

            _packageServices = new PackageServicesProxy(
                packageInstallerServices, packageInstaller, packageUninstaller, packageSourceProvider);

            // Start listening to additional events workspace changes.
            _workspace.WorkspaceChanged     += OnWorkspaceChanged;
            _packageServices.SourcesChanged += OnSourceProviderSourcesChanged;
        }
Ejemplo n.º 2
0
        protected override void EnableService()
        {
            // Our service has been enabled.  Now load the VS package dlls.
            var componentModel = _workspace.GetVsService<SComponentModel, IComponentModel>();

            var packageInstallerServices = componentModel.GetExtensions<IVsPackageInstallerServices>().FirstOrDefault();
            var packageInstaller = componentModel.GetExtensions<IVsPackageInstaller>().FirstOrDefault();
            var packageUninstaller = componentModel.GetExtensions<IVsPackageUninstaller>().FirstOrDefault();
            var packageSourceProvider = componentModel.GetExtensions<IVsPackageSourceProvider>().FirstOrDefault();

            if (packageInstallerServices == null ||
                packageInstaller == null ||
                packageUninstaller == null ||
                packageSourceProvider == null)
            {
                return;
            }

            _packageServices = new PackageServicesProxy(
                packageInstallerServices, packageInstaller, packageUninstaller, packageSourceProvider);

            // Start listening to additional events workspace changes.
            _workspace.WorkspaceChanged += OnWorkspaceChanged;
            _packageServices.SourcesChanged += OnSourceProviderSourcesChanged;
        }