51.3. Development Tools Extensibility (DTE)

The automation model is somewhat abstract and related to the architecture of Visual Studio, but its core representation is known as Development Tools Extensibility, which is a set of APIs that implement the automation model. Development Tools Extensibility is abbreviated as DTE, and you'll commonly encounter this term in some of the Visual Studio 2008 extensibility classes.

DTE is the object in the automation model and is actually an interface that implements another interface, which is _DTE.

Here it's necessary to note that Visual Studio is an old IDE and was originally built on top of the COM programming model. Over the years Microsoft replaced its COM programming model with the .NET development model, but because the Visual Studio core was left unchanged, Visual Studio is still a COM-based IDE. In COM programming you deal with interfaces and components that implement these interfaces. So in Visual Studio Extensibility and DTE you see lots of interfaces and their associated components that implement each interface. Sometimes developers worry about this, especially those who aren't very familiar with COM programming. In general, the COM nature of Visual Studio has made some parts more complicated than if Visual Studio were designed in .NET.

During these years, though, Microsoft has tried to implement new features in a way that's compatible with .NET development, keeping the underlying COM layers hidden from your eyes. This is something ...

Get Professional Visual Studio® 2008 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.