Partager via


Comment : Insérez un VSPackage pour charger

VSPackages sont couramment chargés uniquement lorsque les fonctionnalités ci-dessous est requise pour terminer un processus. Dans certains cas, toutefois, un VSPackage peut peut-être forcer un autre VSPackage à charger. Par exemple, un poids léger VSPackage peut charger un plus grand VSPackage dans un contexte de programmation qui n'est pas disponible comme CMDUIContext.

Vous pouvez utiliser la méthode d' LoadPackage pour forcer un VSPackage pour charger.

pour forcer un VSPackage pour charger

  • Insérez ce code dans la méthode d' Initialize d'un VSPackage qui force un autre VSPackage pour charger :

    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);
    

    Lorsque le VSPackage est initialisé, il forcera PackageToBeLoaded à charger.

Programmation fiable

Le chargement de force ne doit pas être utilisé pour la communication d'un VSPackage. Utilisez plutôt services.

Voir aussi

Concepts

chargement VSPackages

Autres ressources

VSPackages