Visual Studio Interop Assemblies
The Visual Basic 2008 interop assemblies allow managed applications to access the COM interfaces that provide Visual Basic 2008 extensibility.
Each interface in the interop assembly corresponds to a Visual Basic 2008 COM interface. Each is designed so that the parameter information passed by the managed code approximates the information required by the underlying COM object as closely as possible. For more information, see Guide (COM Fundamentals). Each method returns an HRESULT to the managed application.
The Visual Studio interop assemblies are not the same as the Managed Package Framework Classes. The MPF classes use the interop assemblies to provide a higher level of abstraction, a richer feature set, and more robust interoperability and error handling than the interop assemblies.
List of Interop Assemblies
The interop assemblies are installed by default at <Visual Studio SDK Installation Path>\VisualStudioIntegration\Common\Assemblies and are also installed into the global assembly cache (GAC). The following interop assemblies are provided in Visual Studio SDK:
Interop assembly name |
Functionality |
---|---|
Microsoft.VisualStudio.Debugger.Interop.dll |
Provides access to the debugging functionality in the integrated development environment (IDE). |
Microsoft.VisualStudio.OLE.Interop.dll |
Provides access to some standard OLE interfaces. |
Microsoft.VisualStudio.Shell.Interop.dll |
Provides access to basic IDE interfaces. |
Microsoft.VisualStudio.Shell.Interop.8.0.dll |
Provides access to IDE interfaces, types, and services that are new to Visual Basic 2008. |
Microsoft.VisualStudio.Shell.Interop.9.0.dll |
Provides access to IDE interfaces, types, and services that are new to Visual Studio 2008. |
Microsoft.VisualStudio.TextManager.Interop.dll |
Provides access to core editor interfaces. |
Microsoft.VisualStudio.TextManager.Interop.8.0.dll |
Provides access to core editor interfaces, types, and services that are new to Visual Basic 2008. |
Together, these assemblies provide the following namespaces:
Namespace |
Contents |
---|---|
Microsoft.VisualStudio.Shell.Interop Microsoft.VisualStudio.VSHelp VSLangProj |
IDE and OLE interfaces used in Visual Studio SDK. |
Microsoft.VisualStudio.TextManager |
Core editor interfaces widely used by the IDE. |
Microsoft.VisualStudio.Debugger |
Interfaces supporting the debugging environment. |
Microsoft.VisualStudio.Ole.Interop |
Interfaces supporting the OLE types. |
In addition, developers may find it valuable to use members of the VSConstants class to obtain definitions of common constants, such as S_OK.
Notes
Some classes, such as the VsMethodTipWindowClass class, are COM classes that are registered only with the local registry. You cannot create an instance of these classes with the new keyword. Instead, you must get the ILocalRegistry object and create the object with the CreateInstance method. MPF wraps this method with CreateInstance.