Using and Providing Services


A service is a contract between two VSPackages. One VSPackage offers a specific set of interfaces for another VSPackage to consume. For example, Visual Studio offers the SVsActivityLog service to any VSPackage it loads. This service provides the IVsActivityLog interface, which can be used to write to the activity log. For more information, see How to: Use the Activity Log.

VSPackages can offer services of their own by using the IProfferService interface..

Visual Studio offers important services, such as the following:

IDE serviceDescription
SVsShellProvides access to IDE services dealing with basic functionality, VSPackages, and the registry.
SVsUIShellProvides basic windowing and UI-related functionality in the IDE, such as the ability to create tools and document windows.
SVsSolutionProvides basic solution-related functionality, such as the ability to enumerate projects, create new projects, and monitor project changes.

Service Essentials
Presents the important elements of a Visual Studio service.

How to: Get a Service
Discusses how to request (consume) a service.

How to: Provide a Service
Discusses how to provide a service.

How to: Provide an Asynchronous Visual Studio Service
Discusses how to provide an asynchronous service.

How to: Troubleshoot Services
Discusses common problems and presents solutions to them.

Visual Studio SDK