Compartilhar via


Interface IVsParentProject

 

Publicado: agosto de 2016

Permite que projetos aninhados ser aberto e fechado na seqüência apropriada com a criação da hierarquia de solução pelo ambiente.

Namespace:   Microsoft.VisualStudio.Shell.Interop
Assembly:  Microsoft.VisualStudio.Shell.Interop (em Microsoft.VisualStudio.Shell.Interop.dll)

Sintaxe

[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

Métodos

Nome Descrição
System_CAPS_pubmethod CloseChildren()

Implementado para fechar projetos aninhados em um projeto pai.

System_CAPS_pubmethod OpenChildren()

Implementado para abrir projetos aninhados em um projeto pai.

Comentários

IVsParentProject contém dois métodos, OpenChildren e CloseChildren. A finalidade dessa interface é permitir que os projetos aninhados ser aberto e fechado na seqüência apropriada com a criação da hierarquia de solução pelo ambiente. Informações relacionadas a projetos aninhados estão contidas no arquivo de projeto para cada projeto pai.

A implementação dos métodos deve ser acionados correspondente IVsSolutionEvents3 eventos - OnBeforeOpeningChildren e OnAfterOpeningChildren no OpenChildren método e OnBeforeClosingChildren e OnAfterClosingChildren em CloseChildren método.

A ordem de solução aberta é o seguinte.

Para cada projeto na solução de nível superior:

  • O ambiente cria o projeto chamando o projeto CreateProject

  • O ambiente adiciona o projeto ao Solution Explorer.

  • O ambiente verifica se o projeto é um projeto pai consultando a hierarquia de projeto para IVsParentProject.

  • Se o projeto aceitar IVsParentProject, o ambiente chama o projeto OpenChildren método. Durante esse método dispara o projeto OnBeforeOpeningChildren, e para cada projeto (aninhada) filho:

A ordem de fechar solução é:

  • Para cada projeto na solução de nível superior, o ambiente chama o projeto QueryClose método. Nesse método, o projeto chama QueryClose em todos os seus filhos.

  • Para cada projeto na solução de nível superior, o ambiente é acionado OnBeforeCloseProject para o projeto.

  • Para cada projeto na solução de nível superior, o ambiente verifica se o projeto é um projeto pai consultando a hierarquia de projeto para IVsParentProject

  • Para cada projeto de nível superior na solução, se o projeto aceitar IVsParentProject, as chamadas de ambiente CloseChildren. Durante esse método dispara o projeto OnBeforeClosingChildren, e para cada projeto (aninhada) filho:

    • As chamadas de projeto pai RemoveVirtualProject.

    • Dispara o método OnBeforeCloseProject para o projeto filho

    • O ambiente verifica se o projeto filho é também um projeto pai consultando a hierarquia do projeto filho para IVsParentProject

  • Se o projeto filho também é um projeto pai:

Observações para implementadores:

Implementado pelo pai projetos (outros projetos de aninhamento) para controle de abertura e fechamento de projetos aninhados (filho).

Consulte também

Namespace Microsoft.VisualStudio.Shell.Interop

Retornar ao topo