Freigeben über


Gewusst wie: Erzwingen Sie zum Laden von VSPackages

normalerweise nur VSPackages geladen werden, wenn sich ihre zugehörigen Funktionen erforderlich ist, einen Vorgang abzuschließen. Unter bestimmten Umständen kann ein VSPackage muss jedoch VSPackages geladen werden soll, ein anderes erzwingen. Zum Beispiel könnte ein größeres VSPackage Leichtgewichtler Programmierung in einem VSPackage Kontext nicht als CMDUIContext verfügbar ist.

Sie können die LoadPackage-Methode verwenden, um zu erzwingen, dass VSPackages geladen werden soll.

So erzwingen Sie VSPackages zu ladende

  • Fügen Sie diesen Code in die Initialize VSPackages Methode ein, die ein anderes VSPackage erzwingt, um zu laden:

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

    Wenn ein VSPackage initialisiert wird, erzwingt dies PackageToBeLoaded , um zu laden.

Robuste Programmierung

Laden aktiviert sollte nicht für VSPackage-Kommunikation verwendet werden. Verwenden Sie stattdessen Dienste.

Siehe auch

Konzepte

Laden von VSPackages

Weitere Ressourcen

VSPackages