Устранение неполадок с VSPackages
Область применения: Visual Studio
В этой статье приводятся распространенные проблемы и советы по устранению неполадок в VSPackages.
VSPackage не запускает Visual Studio
В этом сценарии запустите Visual Studio в безопасном режиме, введя devenv.exe /safemode в командной строке. Во время этого процесса никакие VSPackage не загружаются, кроме VSPackages, включенных в Visual Studio.
VsPackage не загружается
Чтобы устранить эту проблему, попробуйте выполнить одно или несколько следующих действий.
Убедитесь, что вы используете корневой каталог реестра, в котором vsPackage зарегистрирован для запуска, обычно экспериментальный корневой каталог реестра. Дополнительные сведения см. в разделе "Экспериментальный экземпляр".
Если VSPackage предназначен для запуска в корневом каталоге экспериментального реестра, убедитесь, что вы используете экспериментальную версию Visual Studio.
Чтобы запустить экспериментальную версию, откройте командную строку Visual Studio и введите devenv /rootuffix exp.
Проверьте записи реестра VSPackage. Дополнительные сведения см. в разделе Регистрация VSPackages и управление VSPackages.
Откройте окно вывода экземпляра Visual Studio, который не удалось загрузить VSPackage. Сведения о том, почему пакет VSPackage не загружается, может отображаться в этом окне.
Примечание.
Если вы запускаете экспериментальную версию Visual Studio из интегрированной среды разработки Visual Studio (IDE), проверьте окно вывода обеих версий.
Проверьте журнал действий. Дополнительные сведения см. в разделе "Практическое руководство. Использование журнала действий".
Дополнительные сведения об исключениях, создаваемых интегрированной интегрированной среды разработки, выберите исключения в меню отладки , чтобы включить исключения. В диалоговом окне "Исключения" выберите типы исключений, о которых требуется получить дополнительные сведения.
VsPackage не зарегистрирован
Убедитесь, что сборка VSPackage находится в надежном расположении. RegPkg не может регистрировать сборки в ненадежном или частично доверенном расположении, например сетевой ресурс в конфигурации безопасности .NET по умолчанию. Хотя предупреждение появляется всякий раз, когда пользователь создает проект в ненадежном расположении, флажок "Не показывать это сообщение снова " может предотвратить повторение этого предупреждения.
Команда не отображается или возникает ошибка при его выборе.
Чтобы устранить эту проблему, выполните следующие действия.
Объедините новые или измененные команды меню и эти команды, уже имеющиеся в интегрированной среде разработки, введя devenv /rootuffix Exp /setup в командной строке Visual Studio.
Убедитесь, что Visual Studio может найти UI.dll для VSPackage.
Найдите CLSID VSPackage в разделе "Пакеты" реестра:
HKLM\Software\Microsoft\Visual Studio\<version>\Packages
Убедитесь, что путь, заданный вложенным ключом SatelliteDll, правильным.
VSPackage ведет себя неожиданно
Чтобы устранить эту проблему, попробуйте выполнить одно или несколько следующих действий.
Задайте точки останова в коде.
Хорошими начальными точками отладки являются конструктор и метод инициализации. Вы также можете задать точки останова в области, которую вы хотите оценить, например команду меню. Чтобы включить точки останова, необходимо запустить под отладчиком.
В меню Проект выберите пункт Свойства.
В диалоговом окне "Страницы свойств" выберите вкладку "Отладка".
В поле аргументов командной строки введите корневую суффикс среды разработки, предназначенную для VSPackage. Например, чтобы выбрать экспериментальную сборку, введите :/RootSuffix Exp.
В меню отладки выберите "Начать отладку" или нажмите клавишу F5.
Примечание.
При отладке проекта создайте или загрузите существующий экземпляр проекта.
Используйте журнал действий.
Трассировка поведения VSPackage путем записи сведений в журнал действий в ключевых точках. Этот метод особенно полезен при запуске VSPackage в розничной среде. Дополнительные сведения см. в разделе "Практическое руководство. Использование журнала действий".
Используйте открытые символы.
Чтобы повысить удобочитаемость во время отладки, можно присоединить символы к отладчику:
- В меню "Сервис и параметры" перейдите в диалоговое окно "Отладка и символы".
- Добавление расположения
https://msdl.microsoft.com/download/symbols
файла символов (PDB): - Чтобы повысить производительность, укажите папку кэша символов, например C:\symbols.
Отсутствует VSPackage или одна из его зависимостей.
Для управляемого кода убедитесь, что пути ссылки верны.
В меню Проект выберите пункт Свойства.
Выберите вкладку "Ссылки" в диалоговом окне "Страницы свойств" и убедитесь, что все пути верны. Кроме того, можно использовать обозреватель объектов для поиска ссылочных объектов.
Для управляемого кода можно использовать Fuslogvw.exe (средство просмотра журналов привязки сборок) для отображения сведений о неудачных нагрузках сборки.
Для неуправляемого кода найдите CLSID VSPackage в узле реестра CLSID Visual Studio:
HKLM\Software\Microsoft\Visual Studio\<version>\CLSID
Убедитесь, что запись InprocServer32 имеет правильный путь к библиотеке DLL VSPackage.