Sdílet prostřednictvím


IVsParentProject – rozhraní

 

Vnořené projekty a uzavřen ve správném pořadí s sestavení řešení hierarchie prostředí umožňuje.

Obor názvů:   Microsoft.VisualStudio.Shell.Interop
Sestavení:  Microsoft.VisualStudio.Shell.Interop (v Microsoft.VisualStudio.Shell.Interop.dll)

Syntaxe

[InterfaceTypeAttribute(1)]
[GuidAttribute("79001CD1-69C6-45B8-8F7A-DCCCE0469E8D")]
public interface IVsParentProject
[InterfaceTypeAttribute(1)]
[GuidAttribute("79001CD1-69C6-45B8-8F7A-DCCCE0469E8D")]
public interface class IVsParentProject
[<InterfaceTypeAttribute(1)>]
[<GuidAttribute("79001CD1-69C6-45B8-8F7A-DCCCE0469E8D")>]
type IVsParentProject = interface end
<InterfaceTypeAttribute(1)>
<GuidAttribute("79001CD1-69C6-45B8-8F7A-DCCCE0469E8D")>
Public Interface IVsParentProject

Metody

Název Popis
System_CAPS_pubmethod CloseChildren()

Implementována zavřete vnořené projekty v rámci nadřazeného projektu.

System_CAPS_pubmethod OpenChildren()

Implementována otevřete vnořené projekty v rámci nadřazeného projektu.

Poznámky

IVsParentProjectobsahuje dvě metody, OpenChildren a CloseChildren.Účelem tohoto rozhraní je umožnit vnořené projekty a uzavřen ve správném pořadí s sestavení řešení hierarchie prostředí.Informace týkající se vnořené projekty jsou obsaženy v souboru pro každý projekt nadřazeného projektu.

Provádění metod by měly požární odpovídající IVsSolutionEvents3 události - OnBeforeOpeningChildren a OnAfterOpeningChildren v OpenChildren metoda a OnBeforeClosingChildren a OnAfterClosingChildren v CloseChildren metoda.

Otevřít pořadí řešení je následující.

Pro každý projekt nejvyšší úrovně v roztoku:

  • Prostředí vytvoří projekt voláním projektuCreateProject

  • Prostředí projektu přidá do roztoku Explorer.

  • Prostředí zkontroluje, pokud je projekt nadřazeného projektu pomocí dotazu na hierarchii projektu IVsParentProject.

  • Pokud projekt podporuje IVsParentProject, zavolá prostředí projektu OpenChildren metoda.Během této metody je v projektu OnBeforeOpeningChildrena pro každý podřízený (vnořené) projekt:

    • Volání nadřazeného projektu AddVirtualProjectEx.

    • Je aktivována metodu OnAfterOpenProject projektu podřízené.

    • Prostředí zkontroluje podřízeného projektu je také nadřazeného projektu pomocí dotazu na hierarchii projektu podřízené IvsParentProject.

    • Pokud je projekt dítě také nadřazeného projektu:

    • Volání prostředí jeho OpenChildren.

    • Je aktivována projektu OnAfterOpeningChildren.

    • Je aktivována řešení OnAfterOpenProject.

    • Je aktivována řešení OnAfterOpenSolution (Pokud se úspěšně načte řešení).

Zavřít pořadí řešení je:

  • Pro každý projekt nejvyšší úrovně v roztoku prostředí volá projektu QueryClose metoda.Tato metoda volá projektu QueryClose na všechny podřízené.

  • Pro každý projekt nejvyšší úrovně v roztoku je v prostředí OnBeforeCloseProject projektu.

  • Pro každý projekt nejvyšší úrovně v roztoku prostředí zkontroluje, pokud je projekt pomocí dotazu na hierarchii projektu nadřazeného projektu.IVsParentProject

  • Pro každý projekt nejvyšší úrovně v roztoku, pokud projekt podporuje IVsParentProject, volání prostředí CloseChildren.Během této metody je v projektu OnBeforeClosingChildrena pro každý podřízený (vnořené) projekt:

    • Volání nadřazeného projektu RemoveVirtualProject.

    • Je aktivována metodu OnBeforeCloseProject projektu podřízené

    • Prostředí zkontroluje podřízeného projektu je také nadřazeného projektu pomocí dotazu na hierarchii projektu podřízenéIVsParentProject

  • Pokud je projekt dítě také nadřazeného projektu:

Poznámky pro implementátory:

Implementován nadřazené projektů (projekty ostatní projekty vnoření) řídit otevírání a zavírání projektů vnořené (podřízené).

Viz také

Microsoft.VisualStudio.Shell.Interop – obor názvů

Zpátky na začátek