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.