Compartilhar via


Interface IVsProjectStartupServices

 

Habilita a extensibilidade do projeto por outros desenvolvedores.

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

Sintaxe

[InterfaceTypeAttribute(1)]
[GuidAttribute("82780F79-A3ED-4B7F-90C0-5FEE14CBB53E")]
public interface IVsProjectStartupServices
[InterfaceTypeAttribute(1)]
[GuidAttribute("82780F79-A3ED-4B7F-90C0-5FEE14CBB53E")]
public interface class IVsProjectStartupServices
[<InterfaceTypeAttribute(1)>]
[<GuidAttribute("82780F79-A3ED-4B7F-90C0-5FEE14CBB53E")>]
type IVsProjectStartupServices = interface end
<InterfaceTypeAttribute(1)>
<GuidAttribute("82780F79-A3ED-4B7F-90C0-5FEE14CBB53E")>
Public Interface IVsProjectStartupServices

Métodos

Nome Descrição
System_CAPS_pubmethod AddStartupService(Guid)

Adiciona o serviço de terceiros para a lista de serviços a ser iniciado quando o projeto é instanciado e garante que todos os serviços de terceiros são iniciados.

System_CAPS_pubmethod GetStartupServiceEnum(IEnumProjectStartupServices)

Usado para pesquisar um elemento de matriz de serviço de terceiros pelo GUID.

System_CAPS_pubmethod RemoveStartupService(Guid)

Remove um serviço de identificação do GUID da lista de serviços de terceiros a ser iniciado e libera o serviço se ele foi carregado.

Comentários

IVsProjectStartupServicesé uma interface opcional que permite que um terceiro VSPackage para registrar um GUID que o seu projeto persiste em seu arquivo de projeto para que toda vez que seu projeto for carregado, você carrega essas informações em seu arquivo de projeto de serviço e QueryService para esse GUID.Isso permite que um terceiro VSPackage seja carregado no ponto de que seu projeto seja carregado novamente do atraso.Dessa forma, os terceiros VSPackage evita o uso de pré-carregamento agora obsoleto = 1 opção anteriormente no registro.No entanto o VSPackage continua a garantir que ele seja carregado no momento em seu projeto é carregado.

Seu projeto só precisa chamar QueryService passando os parâmetros (guidService, IID_IUnknown, &punk); ele faz nenhuma tentativa para chamar um método no serviço.O VSPackage ao que está sendo carregado pode enumerar os projetos carregados e realizar operações apropriadas (por exemplo, ligar a eventos do projeto).

O IVsProjectStartupServices interface pode ser recuperado a partir de uma hierarquia de projetos da seguinte maneira:

GetProperty(VSITEMID_ROOT, VSHPROPID_StartupServices...)

IVsProjectStartupServicesé usado principalmente para extensibilidade se você estiver criando um tipo de projeto é extensível por outros desenvolvedores.

Observações para implementadores:

Implementado sobre o IVsHierarchy para tornar o seu projeto extensível por outros desenvolvedores.

Consulte também

Namespace Microsoft.VisualStudio.Shell.Interop

Retornar ao topo