IVsAggregatableProjectCorrected Interface
Implemented by a project that supports adding project subtypes through aggregation.
Assembly: Microsoft.VisualStudio.Shell.14.0 (in Microsoft.VisualStudio.Shell.14.0.dll)
| Name | Description | |
|---|---|---|
![]() | GetAggregateProjectTypeGuids(String) | Gets the list of project type GUIDs that make up the aggregate project. This method should be delegated to the innermost project within the system of aggregated project subtypes. |
![]() | InitializeForOuter(String, String, String, UInt32, Guid, IntPtr, Int32) | Called by the owner, the outer project subtype, to have the owned project, the inner project subtype, to do its initialization work. |
![]() | OnAggregationComplete() | Indicates that aggregation is complete. |
![]() | SetAggregateProjectTypeGuids(String) | This method updates the list of GUIDs that are persisted in the project file of the base project. |
![]() | SetInnerProject(IntPtr) | This method is used to pass in the pointer to the inner IUnknown of the project subtype that is being aggregated. |
This interface is similar to the IVsAggregatableProject interface, except 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.
