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 | |
---|---|---|
CloseChildren() | Implementado para fechar projetos aninhados em um projeto pai. |
|
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:
As chamadas de projeto pai AddVirtualProjectEx.
Dispara o método OnAfterOpenProject 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:
O ambiente chama seu OpenChildren.
O projeto aciona OnAfterOpeningChildren.
Dispara a solução OnAfterOpenProject.
Dispara a solução OnAfterOpenSolution (se uma solução carregada com êxito).
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:
O ambiente chama seu CloseChildren.
O ambiente chama o projeto filho Close.
O projeto aciona OnAfterClosingChildren.
O ambiente chama o projeto de nível superior Close.
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