IVsAggregatableProjectCorrected Interface
Implemented by a project that supports adding project subtypes through aggregation.
This API is not CLS-compliant.
Namespace: Microsoft.VisualStudio.Shell.Flavor
Assembly: Microsoft.VisualStudio.Shell.10.0 (in Microsoft.VisualStudio.Shell.10.0.dll)
Syntax
'Declaration
<InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)> _
<GuidAttribute("ffb2e715-7312-4b93-83d7-d37bcc561c90")> _
<CLSCompliantAttribute(False)> _
Public Interface IVsAggregatableProjectCorrected
[InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)]
[GuidAttribute("ffb2e715-7312-4b93-83d7-d37bcc561c90")]
[CLSCompliantAttribute(false)]
public interface IVsAggregatableProjectCorrected
[InterfaceTypeAttribute(ComInterfaceType::InterfaceIsIUnknown)]
[GuidAttribute(L"ffb2e715-7312-4b93-83d7-d37bcc561c90")]
[CLSCompliantAttribute(false)]
public interface class IVsAggregatableProjectCorrected
[<InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)>]
[<GuidAttribute("ffb2e715-7312-4b93-83d7-d37bcc561c90")>]
[<CLSCompliantAttribute(false)>]
type IVsAggregatableProjectCorrected = interface end
public interface IVsAggregatableProjectCorrected
The IVsAggregatableProjectCorrected type exposes the following members.
Methods
Name | Description | |
---|---|---|
GetAggregateProjectTypeGuids | 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 | 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 | This method updates the list of GUIDs that are persisted in the project file of the base project. | |
SetInnerProject | This method is used to pass in the pointer to the inner IUnknown of the project subtype that is being aggregated. |
Top
Remarks
This interface is similar to the IVsAggregatableProjectinterface, 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.