IVsParentProject Interface
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Permet à l'environnement d'ouvrir et de fermer les projets imbriqués dans le bon ordre avec la build de la hiérarchie de solution.
public interface class IVsParentProject
public interface class IVsParentProject
__interface IVsParentProject
[System.Runtime.InteropServices.Guid("79001CD1-69C6-45B8-8F7A-DCCCE0469E8D")]
[System.Runtime.InteropServices.InterfaceType(1)]
public interface IVsParentProject
[<System.Runtime.InteropServices.Guid("79001CD1-69C6-45B8-8F7A-DCCCE0469E8D")>]
[<System.Runtime.InteropServices.InterfaceType(1)>]
type IVsParentProject = interface
Public Interface IVsParentProject
- Attributs
Remarques
IVsParentProject contient deux méthodes, OpenChildren et CloseChildren . L’objectif de cette interface est d’autoriser l’ouverture et la fermeture des projets imbriqués dans l’ordre approprié avec la build de la hiérarchie de la solution par l’environnement. Les informations relatives aux projets imbriqués sont contenues dans le fichier projet pour chaque projet parent.
L’implémentation des méthodes doit déclencher les événements correspondants, IVsSolutionEvents3 OnBeforeOpeningChildren et OnAfterOpeningChildren dans la OpenChildren méthode et OnBeforeClosingChildren et dans la OnAfterClosingChildren CloseChildren méthode.
L’ordre d’ouverture de la solution est le suivant.
Pour chaque projet de niveau supérieur dans la solution :
L’environnement crée le projet en appelant la CreateProject
L’environnement ajoute le projet à Explorateur de solutions.
L’environnement vérifie si le projet est un projet parent en interrogeant la hiérarchie de projet pour
IVsParentProject.Si le projet prend en charge
IVsParentProject, l’environnement appelle la OpenChildren méthode du projet. Au cours de cette méthode, le projet se déclenche OnBeforeOpeningChildren et, pour chaque projet enfant (imbriqué) :Le projet parent appelle AddVirtualProjectEx .
La méthode est déclenchée OnAfterOpenProject pour le projet enfant.
L’environnement vérifie si le projet enfant est également un projet parent en interrogeant la hiérarchie du projet enfant pour
IvsParentProject.Si le projet enfant est également un projet parent :
L’environnement appelle son OpenChildren .
Le projet est déclenché OnAfterOpeningChildren .
La solution est déclenchée OnAfterOpenProject .
La solution se déclenche OnAfterOpenSolution (si une solution est chargée avec succès).
L’ordre de fermeture de la solution est le suivant :
Pour chaque projet de niveau supérieur dans la solution, l’environnement appelle la méthode du projet QueryClose . Dans cette méthode, le projet appelle QueryClose sur tous ses enfants.
Pour chaque projet de niveau supérieur dans la solution, l’environnement est déclenché OnBeforeCloseProject pour le projet.
Pour chaque projet de niveau supérieur dans la solution, l’environnement vérifie si le projet est un projet parent en interrogeant la hiérarchie de projet pour
IVsParentProjectPour chaque projet de niveau supérieur dans la solution, si le projet prend en charge
IVsParentProject, l’environnement appelle CloseChildren . Au cours de cette méthode, le projet se déclenche OnBeforeClosingChildren et, pour chaque projet enfant (imbriqué) :Le projet parent appelle RemoveVirtualProject .
La méthode est déclenchée OnBeforeCloseProject pour le projet enfant
L’environnement vérifie si le projet enfant est également un projet parent en interrogeant la hiérarchie du projet enfant pour
IVsParentProject
Si le projet enfant est également un projet parent :
L’environnement appelle son CloseChildren .
L’environnement appelle le du projet enfant Close .
Le projet est déclenché OnAfterClosingChildren .
L’environnement appelle le du projet de niveau supérieur Close .
Notes pour les responsables de l’implémentation
Implémenté par les projets parents (projets qui imbriquent d’autres projets) pour contrôler l’ouverture et la fermeture des projets imbriqués (enfants).
Méthodes
| CloseChildren() |
Implémenté pour fermer les projets imbriqués sous un projet parent. |
| OpenChildren() |
Implémenté pour ouvrir les projets imbriqués sous un projet parent. |