FlavoredProjectBase Classe

Définition

Projet qui est un sous-type ou une version d'un projet interne.

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
Héritage
FlavoredProjectBase
Implémente

Remarques

Le comportement par défaut de toutes les méthodes consiste à déléguer au projet interne. Pour tout comportement que vous souhaitez modifier, il vous suffit de traiter la requête vous-même.

Vous devez définir le serviceProvider champ sur cette classe avant de tenter de charger le projet.

Constructeurs

FlavoredProjectBase()

Initialise une nouvelle instance de FlavoredProjectBase.

Champs

_innerOleCommandTarget

Cible de la commande interne.

_innerVsAggregatableProject

Projet pouvant être agrégé.

_innerVsHierarchy

Hiérarchie interne.

_innerVsUIHierarchy

Hiérarchie d’interface utilisateur interne.

serviceProvider

Fournisseur de services.

Méthodes

AdviseHierarchyEvents(IVsHierarchyEvents)

Conseille les événements de hiérarchie.

Close()

Ferme la hiérarchie.

ExecCommand(UInt32, Guid, UInt32, UInt32, IntPtr, IntPtr)

Exécute la commande spécifiée.

FreeInterfaces()

Libère les différents objets qui composent la hiérarchie.

GetCanonicalName(UInt32, String)

Obtient le nom canonique de l’élément spécifié.

GetComInterface<Interface_T>()

Un projet dérivé de cette classe de base est agrégé à un composant COM natif (objet ProjectAggregator) qui peut aussi agréger un projet interne dans le cas d'une version.

GetGuidProperty(UInt32, Int32)

Obtient le GUID de l’élément spécifié.

GetNestedHierarchy(UInt32, Guid, IntPtr, UInt32)

Obtient le projet imbriqué.

GetProperty(UInt32, Int32, Object)
GetSite()
InitializeForOuter(String, String, String, UInt32, Guid, Boolean)

Permet au projet de s'auto-initialiser. À ce stade, il est possible d'appeler le projet interne. Cette méthode permet également d'annuler le processus de création du projet.

OnAggregationComplete()

Appelé lorsque tous les objets de l'agrégation ont reçu des appels InitializeForOuter. À ce stade, l'agrégation est terminée et parfaitement fonctionnelle.

ParseCanonicalName(String, UInt32)
QueryClose()
QueryStatusCommand(UInt32, Guid, UInt32, OLECMD[], IntPtr)
SetGuidProperty(UInt32, Int32, Guid)
SetInnerProject(IntPtr)

Emplacement où tous les QI pour l'interface sur l'objet interne doivent se produire, définissez ensuite l'attente de projet interne à appeler pour InitializeForOuter pour effectuer la véritable initialisation

SetProperty(UInt32, Int32, Object)
UnadviseHierarchyEvents(UInt32)
Unused0()
Unused1()
Unused2()
Unused3()
Unused4()

Événements

DirectoryAdded

Appelé après l'ajout d'un répertoire à ce projet.

DirectoryRemoved

Appelé après la suppression d'un répertoire de ce projet.

DirectoryRenamed

Appelé après l'attribution d'un nouveau nom à un répertoire de ce projet.

FileAdded

Appelé après l'ajout d'un fichier à ce projet.

FileRemoved

Appelé après la suppression d'un fichier de ce projet.

FileRenamed

Appelé après l'attribution d'un nouveau nom à un fichier de ce projet.

SccStatusChanged

Appelé après la modification de l'état du contrôle de code source d'un fichier de ce projet.

Implémentations d’interfaces explicites

IOleCommandTarget.Exec(Guid, UInt32, UInt32, IntPtr, IntPtr)
IOleCommandTarget.QueryStatus(Guid, UInt32, OLECMD[], IntPtr)
IServiceProvider.GetService(Type)
IVsAggregatableProjectCorrected.GetAggregateProjectTypeGuids(String)

Doit être délégué au projet le plus profond

IVsAggregatableProjectCorrected.InitializeForOuter(String, String, String, UInt32, Guid, IntPtr, Int32)

Effectue l'initialisation ici (telle que le chargement d'informations spécifiques à la version du projet)

IVsAggregatableProjectCorrected.OnAggregationComplete()

Appelé lorsque tous les objets de l'agrégation ont reçu des appels InitializeForOuter. À ce stade, l'agrégation est terminée et parfaitement fonctionnelle.

IVsAggregatableProjectCorrected.SetAggregateProjectTypeGuids(String)

Doit être délégué au projet le plus profond

IVsAggregatableProjectCorrected.SetInnerProject(IntPtr)

Emplacement où tous les QI pour l'interface sur l'objet interne doivent se produire, définissez ensuite l'attente de projet interne à appeler pour InitializeForOuter pour effectuer la véritable initialisation

IVsHierarchy.AdviseHierarchyEvents(IVsHierarchyEvents, UInt32)
IVsHierarchy.Close()
IVsHierarchy.GetCanonicalName(UInt32, String)
IVsHierarchy.GetGuidProperty(UInt32, Int32, Guid)
IVsHierarchy.GetNestedHierarchy(UInt32, Guid, IntPtr, UInt32)
IVsHierarchy.GetProperty(UInt32, Int32, Object)
IVsHierarchy.GetSite(IServiceProvider)
IVsHierarchy.ParseCanonicalName(String, UInt32)
IVsHierarchy.QueryClose(Int32)
IVsHierarchy.SetGuidProperty(UInt32, Int32, Guid)
IVsHierarchy.SetProperty(UInt32, Int32, Object)
IVsHierarchy.SetSite(IServiceProvider)
IVsHierarchy.UnadviseHierarchyEvents(UInt32)
IVsHierarchy.Unused0()
IVsHierarchy.Unused1()
IVsHierarchy.Unused2()
IVsHierarchy.Unused3()
IVsHierarchy.Unused4()
IVsUIHierarchy.AdviseHierarchyEvents(IVsHierarchyEvents, UInt32)
IVsUIHierarchy.Close()
IVsUIHierarchy.ExecCommand(UInt32, Guid, UInt32, UInt32, IntPtr, IntPtr)
IVsUIHierarchy.GetCanonicalName(UInt32, String)
IVsUIHierarchy.GetGuidProperty(UInt32, Int32, Guid)
IVsUIHierarchy.GetNestedHierarchy(UInt32, Guid, IntPtr, UInt32)
IVsUIHierarchy.GetProperty(UInt32, Int32, Object)
IVsUIHierarchy.GetSite(IServiceProvider)
IVsUIHierarchy.ParseCanonicalName(String, UInt32)
IVsUIHierarchy.QueryClose(Int32)
IVsUIHierarchy.QueryStatusCommand(UInt32, Guid, UInt32, OLECMD[], IntPtr)
IVsUIHierarchy.SetGuidProperty(UInt32, Int32, Guid)
IVsUIHierarchy.SetProperty(UInt32, Int32, Object)
IVsUIHierarchy.SetSite(IServiceProvider)
IVsUIHierarchy.UnadviseHierarchyEvents(UInt32)
IVsUIHierarchy.Unused0()
IVsUIHierarchy.Unused1()
IVsUIHierarchy.Unused2()
IVsUIHierarchy.Unused3()
IVsUIHierarchy.Unused4()

Méthodes d’extension

IsCapabilityMatch(IVsHierarchy, String)

Vérifie si un projet donné correspond aux exigences prescrites dans une expression AppliesTo.

EnumImportingProjects(IVsHierarchy)

Énumère tous les projets qui importent des ressources partagées appartenant à la hiérarchie de projet partagée donnée.

EnumOwningProjectsOfSharedAssets(IVsHierarchy)

Énumère tous les projets partagés qui possèdent et gèrent les ressources partagées importées par le projet donné.

GetActiveProjectContext(IVsHierarchy)

Obtient le contexte de projet actif.

GetSharedItemsImportFullPaths(IVsHierarchy)

Obtient les chemins d’accès complets des fichiers « . projitems » partagés importés par le projet donné.

IsProjectImportingSharedAssets(IVsHierarchy)

Le projet donné importe-t-il des ressources partagées ?

IsSharedAssetsProject(IVsHierarchy)

Le projet donné est-il un projet partagé ?

SetActiveProjectContext(IVsHierarchy, IVsHierarchy)

Définit le contexte de projet actif.

S’applique à