Share via


IVsAggregatableProject Interface

Implemented by a project that supports adding project subtypes through aggregation.

Namespace:  Microsoft.VisualStudio.Shell.Interop
Assembly:  Microsoft.VisualStudio.Shell.Interop.8.0 (in Microsoft.VisualStudio.Shell.Interop.8.0.dll)

Syntax

'Declaration
<InterfaceTypeAttribute()> _
<GuidAttribute("FFB2E715-7312-4B93-83D7-D37BCC561C90")> _
Public Interface IVsAggregatableProject
'Usage
Dim instance As IVsAggregatableProject
[InterfaceTypeAttribute()]
[GuidAttribute("FFB2E715-7312-4B93-83D7-D37BCC561C90")]
public interface IVsAggregatableProject
[InterfaceTypeAttribute()]
[GuidAttribute(L"FFB2E715-7312-4B93-83D7-D37BCC561C90")]
public interface class IVsAggregatableProject
public interface IVsAggregatableProject

Remarks

The IVsAggregatableProjectCorrected interface provides corrected version for this interface so that IUnknown pointers are passed as IntPtr instead of object. This ensures that it provides the actual IUnknown pointer and not a wrapped managed proxy pointer.

A project subtype must be implemented by a valid VSPackage that implements the IVsPackage interface and provides a project factory that supports the IVsAggregatableProjectFactory and IVsAggregatableProject interfaces. A project subtype is registered in the system registry similar to a normal project. Project subtype adds a unique GUID under the following location in the registry:

HKLM\Software\Microsoft\VisualStudio\[targeted version of VSIP]\Projects

Notes to Implementers:

Implement the IVsAggregatableProject interface when your project supports project subtypes through aggregation. Each level in project aggregation has to implement this interface as well as have a project factory that implements the IVsAggregatableProjectFactory interface.

See Also

Reference

IVsAggregatableProject Members

Microsoft.VisualStudio.Shell.Interop Namespace