This documentation is archived and is not being maintained.

How to: Get a Service from the DTE object (C#)

[This topic is pre-release documentation and is subject to change in future releases. Blank topics are included as placeholders.]

A service can be obtained from within any program that has access to the Visual Studio Automation DTEClass object. For example, you can access the SVsActivityLog service from within a wizard through the DTE object. You can use this service to write to the activity log. For more information, see How to: Write to the Activity Log (C#).

The DTE object implements IServiceProvider, which you can use to query for a service from managed code using GetService.


The following code creates a ServiceProvider from the DTE object and calls GetService with the type of the SVsActivityLog service. The service is cast to the interface IVsActivityLog, which is used to write an entry in the activity log. For more information on writing to the activity log, see How to: Write to the Activity Log (C#).

// Start with the DTE object, for example:
// DTE dte = (DTE)GetService(typeof(DTE));
ServiceProvider sp = new ServiceProvider(dte);
IVsActivityLog log =
   GetService(typeof(SVsActivityLog)) as IVsActivityLog;
if (log == null) return;

int hr = log.LogEntry(
   "Consuming SVsActivityLog service in {0}", this.ToString())

See Also


Service Essentials

Other Resources