Microsoft.VisualStudio.Tools.Applications.Contract Namespace

The Microsoft.VisualStudio.Tools.Applications.Contract namespace contains contracts that are defined and implemented by Visual Studio Tools for Applications. The contracts support version-independent communication between host applications and add-ins across AppDomain and process boundaries.

All contracts are interfaces that derive from the IContract interface. Visual Studio Tools for Applications uses contracts to enable communication between the add-in and its host application (this communication channel is called the pipeline). The add-in developer does not interact directly with contracts; however, advanced add-in developers can extend the contracts to define custom pipeline implementation.

For more information about the pipeline, see Understanding the Add-in Pipeline in Visual Studio Tools for Applications.

Classes

  Class Description
Public class VstaConstants Infrastructure. Provides constants that Visual Studio Tools for Applications uses to represent the host item provider and host type provider service names that the host exposes to the add-in.

Structures

  Structure Description
Public structure EntryPointInfo Infrastructure. Defines a structure that contains information about entry points.

Interfaces

  Interface Description
Public interface IAppInfoContract Infrastructure.
Public interface IAppInfoDocumentContract Infrastructure.
Public interface ICustomAttributeProviderContract Infrastructure. Defines methods that get custom attributes of types from the host object model.
Public interface IEntryPointContract2 Infrastructure. Loads, initializes, and handles the shut down of entry point classes in the add-in assembly.
Public interface IHostItemProviderContract2 Infrastructure. Defines a method that returns host objects from the host object model.
Public interface IHostTypeProviderContract Infrastructure. Defines a method that enables the add-in to obtain types from the host application's object model. Visual Studio Tools for Applications can use these types to invoke static members.
Public interface IInteropObjectContract2 Infrastructure. Represents an instance of a COM class in the host object model of a COM host application.
Public interface IInteropStreamContract Infrastructure. Defines methods for marshaling COM references across the host application and add-in processes.
Public interface IParameterCustomAttributeProviderContract Infrastructure. Defines a method that gets custom parameter attributes of types from the host object model.
Public interface IRemoteTypeContract2 Infrastructure. Extends System.AddIn.Contract.Automation.IRemoteTypeContract by adding a method for determining whether the class that is represented in the current instance of IRemoteTypeContract2 derives from the class that is represented by the specified canonical name.