Rozwiązywanie problemów z pakietami VSPackage
Dotyczy: Visual Studio
W tym artykule przedstawiono typowe problemy i porady dotyczące rozwiązywania problemów z pakietami VSPackage.
Pakiet VSPackage uniemożliwia uruchamianie programu Visual Studio
W tym scenariuszu uruchom program Visual Studio w trybie awaryjnym, wprowadzając devenv.exe /safemode w wierszu polecenia. Podczas tego procesu nie są ładowane żadne pakiety VSPackage z wyjątkiem pakietów VSPackage dołączonych do programu Visual Studio.
Pakiet VSPackage nie jest ładowany
Aby rozwiązać ten problem, spróbuj wykonać co najmniej jeden z następujących kroków:
Upewnij się, że używasz katalogu głównego rejestru, w którym pakiet VSPackage jest zarejestrowany do uruchamiania, zwykle jest to eksperymentalny katalog główny rejestru. Aby uzyskać więcej informacji, zobacz Wystąpienie eksperymentalne.
Jeśli pakiet VSPackage jest przeznaczony do uruchamiania w katalogu głównym rejestru eksperymentalnego, upewnij się, że używasz eksperymentalnej wersji programu Visual Studio.
Aby uruchomić wersję eksperymentalną, otwórz wiersz polecenia programu Visual Studio, a następnie wprowadź ciąg devenv /rootsuffix exp.
Sprawdź wpisy rejestru VSPackage. Aby uzyskać więcej informacji, zobacz Rejestrowanie pakietów VSPackage i zarządzanie pakietami VSPackage.
Otwórz okno Dane wyjściowe wystąpienia programu Visual Studio, które nie może załadować pakietu VSPackage. Informacje o tym, dlaczego ładowanie pakietu VSPackage nie powiodło się, mogą być wyświetlane w tym oknie.
Uwaga
Jeśli uruchamiasz eksperymentalną wersję programu Visual Studio ze zintegrowanego środowiska programistycznego (IDE) programu Visual Studio, sprawdź okno Dane wyjściowe obu wersji.
Sprawdź dziennik aktywności. Aby uzyskać więcej informacji, zobacz Instrukcje: korzystanie z dziennika aktywności.
Aby uzyskać więcej informacji o wyjątkach zgłaszanych przez środowisko IDE, wybierz pozycję Wyjątki w menu Debugowanie , aby włączyć wyjątki. W oknie dialogowym Wyjątki wybierz typy wyjątków, o których chcesz uzyskać więcej informacji.
Pakiet VSPackage nie jest zarejestrowany
Upewnij się, że zestaw VSPackage znajduje się w zaufanej lokalizacji. Program RegPkg nie może zarejestrować zestawów w niezaufanej lub częściowo zaufanej lokalizacji, takiej jak udział sieciowy w domyślnej konfiguracji zabezpieczeń platformy .NET. Mimo że ostrzeżenie jest wyświetlane za każdym razem, gdy użytkownik tworzy projekt w niezaufanej lokalizacji, pole wyboru Nie pokazuj ponownie tego komunikatu może uniemożliwić powtórzenie tego ostrzeżenia.
Polecenie nie jest widoczne lub generuje błąd po wybraniu polecenia
Aby rozwiązać ten problem, spróbuj wykonać następujące czynności:
Scal nowe lub zmienione polecenia menu i te polecenia już w środowisku IDE, wprowadzając polecenie devenv /rootsuffix Exp /setup w wierszu polecenia programu Visual Studio.
Upewnij się, że program Visual Studio może znaleźć UI.dll dla pakietu VSPackage.
Znajdź identyfikator CLSID pakietu VSPackage w sekcji Pakiety rejestru:
HKLM\Software\Microsoft\Visual Studio\<version>\Packages
Sprawdź, czy ścieżka podklucza SatelliteDll jest poprawna.
Pakiet VSPackage zachowuje się nieoczekiwanie
Aby rozwiązać ten problem, spróbuj wykonać co najmniej jeden z następujących kroków:
Ustaw punkty przerwania w kodzie.
Dobrymi punktami początkowymi debugowania są konstruktor i metoda inicjowania. Punkty przerwania można również ustawić w obszarze, który chcesz ocenić, na przykład polecenie menu. Aby włączyć punkty przerwania, należy uruchomić polecenie w debugerze.
W menu Project (Projekt ) wybierz pozycję Właściwości.
W oknie dialogowym Strony właściwości wybierz kartę Debugowanie .
W polu Argumenty wiersza polecenia wprowadź sufiks główny środowiska deweloperskiego, do których jest przeznaczony pakiet VSPackage. Aby na przykład wybrać kompilację eksperymentalną, wprowadź: /RootSuffix Exp.
W menu Debugowanie wybierz pozycję Rozpocznij debugowanie lub naciśnij klawisz F5.
Uwaga
Jeśli debugujesz projekt, utwórz lub załaduj istniejące wystąpienie projektu.
Użyj dziennika aktywności.
Śledzenie zachowania pakietu VSPackage przez zapisanie informacji w dzienniku aktywności w kluczowych punktach. Ta technika jest szczególnie przydatna podczas uruchamiania pakietu VSPackage w środowisku handlu detalicznego. Aby uzyskać więcej informacji, zobacz Instrukcje: korzystanie z dziennika aktywności.
Użyj symboli publicznych.
Aby zwiększyć czytelność podczas debugowania, możesz dołączyć symbole do debugera:
- W menu Narzędzia/opcje przejdź do okna dialogowego Debugowanie/Symbole .
- Dodaj lokalizację pliku symboli (pdb):
https://msdl.microsoft.com/download/symbols
. - Aby zwiększyć wydajność, określ folder pamięci podręcznej symboli, na przykład: C:\symbols.
Brak pakietu VSPackage lub jednej z jego zależności
W przypadku kodu zarządzanego upewnij się, że ścieżki referencyjne są poprawne.
W menu Project (Projekt ) wybierz pozycję Właściwości.
Wybierz kartę Odwołania w oknie dialogowym Strony właściwości i upewnij się, że wszystkie ścieżki są poprawne. Alternatywnie możesz użyć przeglądarki obiektów , aby wyszukać obiekty, do których się odwołujesz.
W przypadku kodu zarządzanego można użyć Fuslogvw.exe (Podgląd dziennika powiązań zestawów), aby wyświetlić szczegóły nieudanych obciążeń zestawu.
W przypadku kodu niezarządzanego znajdź identyfikator CLSID pakietu VSPackage w węźle rejestru CLSID programu Visual Studio:
HKLM\Software\Microsoft\Visual Studio\<version>\CLSID
Upewnij się, że wpis InprocServer32 ma poprawną ścieżkę biblioteki DLL pakietu VSPackage.