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.