FlavoredProjectBase Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
A project that is a subtype/flavor of an inner project.
public ref class FlavoredProjectBase abstract : IServiceProvider, Microsoft::VisualStudio::OLE::Interop::IOleCommandTarget, Microsoft::VisualStudio::Shell::Flavor::IVsAggregatableProjectCorrected, Microsoft::VisualStudio::Shell::Interop::IVsUIHierarchy
public abstract class FlavoredProjectBase : IServiceProvider, Microsoft.VisualStudio.OLE.Interop.IOleCommandTarget, Microsoft.VisualStudio.Shell.Flavor.IVsAggregatableProjectCorrected, Microsoft.VisualStudio.Shell.Interop.IVsUIHierarchy
type FlavoredProjectBase = class
interface IVsAggregatableProjectCorrected
interface IServiceProvider
interface IVsHierarchy
interface IVsUIHierarchy
interface IOleCommandTarget
Public MustInherit Class FlavoredProjectBase
Implements IOleCommandTarget, IServiceProvider, IVsAggregatableProjectCorrected, IVsUIHierarchy
- Inheritance
-
FlavoredProjectBase
- Implements
Remarks
The default behavior of all methods is to delegate to the inner project. For any behavior you want to change, simply handle the request yourself.
You must set the serviceProvider field on this class before attempting to load the project.
Constructors
FlavoredProjectBase() |
Initializes a new instance of FlavoredProjectBase. |
Fields
_innerOleCommandTarget |
The inner command target. |
_innerVsAggregatableProject |
The aggregatable project. |
_innerVsHierarchy |
The inner hierarchy. |
_innerVsUIHierarchy |
The inner UI hierarchy. |
serviceProvider |
The service provider. |
Methods
AdviseHierarchyEvents(IVsHierarchyEvents) |
Advises hierarchy events. |
Close() |
Closes the hierarchy. |
ExecCommand(UInt32, Guid, UInt32, UInt32, IntPtr, IntPtr) |
Executes the specified command. |
FreeInterfaces() |
Frees the different objects that make up the hierarchy. |
GetCanonicalName(UInt32, String) |
Gets the canonical name of the specified element. |
GetComInterface<TInterface>() |
A project derived from this base class will be aggregated with a native COM component (the ProjectAggregator object) that can also aggregate an inner project in case of flavoring. |
GetGuidProperty(UInt32, Int32) |
Gets the GUID of the specified item. |
GetNestedHierarchy(UInt32, Guid, IntPtr, UInt32) |
Gets the nested project. |
GetProperty(UInt32, Int32, Object) | |
GetSite() | |
InitializeForOuter(String, String, String, UInt32, Guid, Boolean) |
Allows the project to initialize itself. At this point it possible to call the inner project. This method also allows canceling the project creation process. |
OnAggregationComplete() |
This is called when all object in aggregation have received InitializeForOuter calls. At this point the aggregation is complete and fully functional. |
ParseCanonicalName(String, UInt32) | |
QueryClose() | |
QueryStatusCommand(UInt32, Guid, UInt32, OLECMD[], IntPtr) | |
SetGuidProperty(UInt32, Int32, Guid) | |
SetInnerProject(IntPtr) |
This is were all QI for interface on the inner object should happen Then set the inner project wait for InitializeForOuter to be called to do the real initialization |
SetProperty(UInt32, Int32, Object) | |
UnadviseHierarchyEvents(UInt32) | |
Unused0() | |
Unused1() | |
Unused2() | |
Unused3() | |
Unused4() |
Events
DirectoryAdded |
Called after a directory was added to this project. |
DirectoryRemoved |
Called after a directory was remove from this project. |
DirectoryRenamed |
Called after a directory was renamed in this project. |
FileAdded |
Called after a file was added to this project. |
FileRemoved |
Called after a file was remove from this project. |
FileRenamed |
Called after a file was renamed in this project. |
SccStatusChanged |
Called after the source code control status of a file in this project changed. |
Explicit Interface Implementations
Extension Methods
IsCapabilityMatch(IVsHierarchy, String) |
Checks whether a given project matches the requirements prescribed in an AppliesTo expression. |
EnumImportingProjects(IVsHierarchy) |
Enumerates all the projects that are importing shared assets owned by the given Shared Project hierarchy. |
EnumOwningProjectsOfSharedAssets(IVsHierarchy) |
Enumerates all the Shared Projects that own and manage the shared assets being imported by the given project. |
GetActiveProjectContext(IVsHierarchy) |
Gets the active project context. |
GetSharedItemsImportFullPaths(IVsHierarchy) |
Gets the full paths of the shared ".projitems" files imported by the given project. |
IsProjectImportingSharedAssets(IVsHierarchy) |
Is the given project importing shared assets? |
IsSharedAssetsProject(IVsHierarchy) |
Is the given project a Shared Project? |
SetActiveProjectContext(IVsHierarchy, IVsHierarchy) |
Sets the active project context. |