Dela via


Felsöka problem med VSPackages

Gäller för: Visual Studio

Den här artikeln beskriver vanliga problem och felsökningstips med dina VSPackages.

En VSPackage hindrar Visual Studio från att starta

I det här scenariot startar du Visual Studio i felsäkert läge genom att ange devenv.exe /safemode i en kommandotolk. Under den här processen läses inga VSPackages in förutom de VSPackages som ingår i Visual Studio.

En VSPackage läses inte in

Om du vill felsöka det här problemet provar du ett eller flera av följande steg:

  • Kontrollera att du använder registerroten där VSPackage är registrerad för körning, vanligtvis den experimentella registerroten. Mer information finns i Den experimentella instansen.

  • Om VSPackage ska köras i den experimentella registerroten kontrollerar du att du kör den experimentella versionen av Visual Studio.

    Om du vill köra den experimentella versionen öppnar du en Visual Studio-kommandotolk och anger sedan devenv /rootsuffix exp.

  • Kontrollera dina VSPackage-registerposter. Mer information finns i Registrera VSPackages och Hantera VSPackages.

  • Öppna utdatafönstret för instansen av Visual Studio som inte kan läsa in VSPackage. Information om varför VSPackage inte kan läsas in kan visas i det fönstret.

    Kommentar

    Om du startar den experimentella versionen av Visual Studio från Visual Studio Integrated Development Environment (IDE) kontrollerar du utdatafönstret för båda versionerna.

  • Granska aktivitetsloggen. Mer information finns i Så här: Använd aktivitetsloggen.

  • Om du vill ha mer information om undantag som genereras av IDE väljer du Undantag felsökningsmenyn för att aktivera undantagen. I dialogrutan Undantag väljer du de typer av undantag som du vill ha mer information om.

En VSPackage är inte registrerad

Kontrollera att VSPackage-sammansättningen finns på en betrodd plats. RegPkg kan inte registrera sammansättningar på en obetrodd eller delvis betrodd plats, till exempel en nätverksresurs i standardkonfigurationen för .NET-säkerhet. Även om en varning visas när en användare skapar ett projekt på en obetrodd plats, kan kryssrutan Visa inte det här meddelandet igen förhindra att varningen upprepas.

Ett kommando visas inte eller så genererar det ett fel när det är valt

Prova följande steg för att lösa problemet:

  • Sammanfoga de nya eller ändrade menykommandona och de kommandon som redan finns i IDE genom att ange devenv /rootsuffix Exp /setup i Visual Studio-kommandotolken.

  • Kontrollera att Visual Studio kan hitta UI.dll för din VSPackage.

    1. Hitta CLSID för VSPackage i avsnittet Paket i registret:

      HKLM\Software\Microsoft\Visual Studio\<version>\Packages

    2. Kontrollera att sökvägen som anges av undernyckeln SatelliteDll är korrekt.

En VSPackage beter sig oväntat

Om du vill felsöka det här problemet provar du ett eller flera av följande steg:

  • Ange brytpunkter i koden.

    Bra utgångspunkter för felsökning är konstruktorn och initieringsmetoden. Du kan också ange brytpunkter i det område som du vill utvärdera, till exempel ett menykommando. Om du vill aktivera brytpunkter måste du köra under felsökningsprogrammet.

    1. På projektmenyn väljer du Egenskaper.

    2. I dialogrutan Egenskapssidor väljer du fliken Felsök.

    3. I rutan Kommandoradsargument anger du rotsuffixet för utvecklingsmiljön som vsPackage-målet är avsett för. Om du till exempel vill välja den experimentella versionen anger du: /RootSuffix Exp.

    4. På felsökningsmenyn väljer du Starta felsökning eller trycker på F5.

      Kommentar

      Om du felsöker ett projekt skapar eller läser du in en befintlig instans av projektet nu.

  • Använd aktivitetsloggen.

    Spåra VSPackage-beteende genom att skriva information till aktivitetsloggen vid viktiga punkter. Den här tekniken är särskilt användbar när du kör en VSPackage i en detaljhandelsmiljö. Mer information finns i Så här: Använd aktivitetsloggen.

  • Använd offentliga symboler.

    För att förbättra läsbarheten vid felsökning kan du koppla symboler till felsökningsprogrammet:

    1. Från menyn Verktyg/alternativ går du till dialogrutan Felsökning/symboler.
    2. Lägg till symbolfilplats (.pdb): https://msdl.microsoft.com/download/symbols.
    3. För att förbättra prestandan anger du en symbolcachemapp, till exempel: C:\symbols.

En VSPackage eller ett av dess beroenden saknas

  • Kontrollera att referenssökvägarna är korrekta för hanterad kod.

    1. På projektmenyn väljer du Egenskaper.

    2. Välj fliken Referenser i dialogrutan Egenskapssidor och kontrollera att alla sökvägar är korrekta. Du kan också använda Object Browser för att bläddra efter de refererade objekten.

      För hanterad kod kan du använda Fuslogvw.exe (Loggboken för sammansättningsbindning) för att visa information om misslyckade sammansättningsbelastningar.

  • För ohanterad kod hittar du CLSID för VSPackage i registernoden Visual Studio CLSID:

    HKLM\Software\Microsoft\Visual Studio\<version>\CLSID

    Kontrollera att posten InprocServer32 har rätt sökväg för VSPackage DLL.

Referenser