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; }
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; }