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.