I'm getting started with Visual Studio automation and wrapping my head around its object model. In the Visual Studio automation MSDN docs describing the relationship between EnvDTE.DTE
and EnvDTE80.DTE2
, there is the following advice:
However, the addition of the EnvDTE80 assembly provides a replacement top-level object, which is named DTE2 and supersedes the DTE object. Although both objects act—and are programmed—similarly, DTE2 contains new functionality and hosts new and updated objects and collections.
When you create new automation applications, we recommend that you create references to both objects—to the DTE2 object to provide access to the new functionality and to the DTE object to provide access to the rest of the core functionality. We also recommend that whenever possible you use the new objects and collections in DTE2 instead of those in DTE.
I don't understand the section I've bolded in the quote above. EnvDTE80.DTE2
implements EnvDTE._DTE
, so surely 100% of the functionality of EnvDTE.DTE
is accessible through an EnvDTE80.DTE2
object.
What am I missing?