Partilhar via


Como: forçar um VSPackage para carga

Os VSPackages normalmente são carregados somente quando sua funcionalidade que o acompanha é necessária para concluir um processo. Em algumas circunstâncias, no entanto, um VSPackage pode ter que forçar o VSPackage outro a ser carregado. Por exemplo, um leve VSPackage pode carregar VSPackage maior em um contexto de programação que não está disponível como um CMDUIContext.

Você pode usar o LoadPackage método para forçar um VSPackage para carregar.

Para forçar um VSPackage para carregar

  • Inserir este código para o Initialize método do VSPackage que força o outro VSPackage carregar:

    Dim shell As IVsShell = TryCast(GetService(GetType(SVsShell)), IVsShell)
    If shell Is Nothing Then 
        Return 
    End If 
    
    Dim package As IVsPackage = Nothing 
    Dim PackageToBeLoadedGuid As Guid = GetType(PackageToBeLoaded).GUID
    shell.LoadPackage(PackageToBeLoadedGuid, package)
    
    IVsShell shell = GetService(typeof(SVsShell)) as IVsShell;
    if (shell == null) return;
    
    IVsPackage package = null;
    Guid PackageToBeLoadedGuid = 
        new Guid(Microsoft.PackageToBeLoaded.GuidList.guidPackageToBeLoadedPkgString);
    shell.LoadPackage(ref PackageToBeLoadedGuid, out package);
    

    Quando o VSPackage é inicializado, ele forçará PackageToBeLoaded para carregar.

Programação robusta

Carregamento de força não deve ser usado para comunicação VSPackage. Use Serviços em vez disso.

Consulte também

Conceitos

Carregando VSPackages

Outros recursos

VSPackages