Condividi tramite


Procedura: Per forzare un VSPackage per caricare

Vspackage in genere viene caricato solo quando la relativa funzionalità associata è richiesta l'esecuzione di un processo. In alcune circostanze, tuttavia, un VSPackage essere necessario forzare un altro package VS da caricare. Ad esempio, un leggera VSPackage caricare un maggiore VSPackage in un contesto di programmazione che non è disponibile come CMDUIContext.

È possibile utilizzare il metodo di LoadPackage per forzare un VSPackage per caricare.

Per forzare un VSPackage per caricare

  • Inserire il codice nel metodo di Initialize del package VS che impone un altro package VS per caricare:

    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 il package VS viene inizializzato, impone PackageToBeLoaded per caricare.

Programmazione efficiente

Il caricamento di potrebbe non deve essere utilizzato per la comunicazione di un VSPackage. In alternativa, utilizzare servizi.

Vedere anche

Concetti

Caricamento package VS.

Altre risorse

Vspackage