Solucionar problemas com VSPackages
Aplica-se a: Visual Studio
Este artigo apresenta problemas comuns e dicas de solução de problemas com seus VSPackages.
Um VSPackage impede que o Visual Studio seja iniciado
Nesse cenário, inicie o Visual Studio no modo de segurança inserindo devenv.exe /safemode em um prompt de comando. Durante esse processo, nenhum VSPackages é carregado, exceto os VSPackages incluídos no Visual Studio.
Um VSPackage não é carregado
Para solucionar esse problema, tente uma ou mais das seguintes etapas:
Verifique se você está usando a raiz do Registro na qual o VSPackage está registrado para ser executado, geralmente a raiz do Registro experimental. Para obter mais informações, consulte A Instância Experimental.
Se o VSPackage for direcionado para ser executado na raiz do registro experimental, verifique se você está executando a versão experimental do Visual Studio.
Para executar a versão experimental, abra um Prompt de Comando do Visual Studio e insira devenv /rootsuffix exp.
Verifique as entradas do Registro VSPackage. Para obter mais informações, consulte Registrando VSPackages e Gerenciando VSPackages.
Abra a janela Saída da instância do Visual Studio que está falhando ao carregar o VSPackage. Informações sobre por que o VSPackage não está sendo carregado podem ser exibidas nessa janela.
Observação
Se você estiver iniciando a versão experimental do Visual Studio no IDE (ambiente de desenvolvimento integrado) do Visual Studio, inspecione a janela Saída de ambas as versões.
Examine o registro de atividades. Para obter mais informações, confira How to: Use the Activity Log.
Para obter mais informações sobre exceções geradas pelo IDE, selecione Exceções no menu Depurar para habilitar as exceções. Na caixa de diálogo Exceções, selecione os tipos de exceções sobre os quais você deseja obter mais informações.
Um VSPackage não está registrado
Verifique se o assembly VSPackage reside em um local confiável. O RegPkg não pode registrar assemblies em um local não confiável ou parcialmente confiável, como um compartilhamento de rede na configuração de segurança padrão do .NET. Embora um aviso apareça sempre que um usuário cria um projeto em um local não confiável, a caixa de seleção Não mostrar esta mensagem novamente pode impedir que esse aviso ocorra novamente.
Um comando não está visível ou gera um erro quando é selecionado
Para resolver esse problema, tente as seguintes etapas:
Mescle os comandos de menu novos ou alterados e os comandos que já estão no IDE inserindo devenv /rootsuffix Exp /setup no Prompt de Comando do Visual Studio.
Verifique se o Visual Studio pode encontrar UI.dll para o VSPackage.
Localize o CLSID do VSPackage na seção Pacotes do registro:
HKLM\Software\Microsoft\Visual Studio\<version>\Packages
Verifique se o caminho fornecido pela subchave SatelliteDll está correto.
Um VSPackage se comporta inesperadamente
Para solucionar esse problema, tente uma ou mais das seguintes etapas:
Defina os pontos de interrupção no seu código.
Bons pontos de partida para depuração são o construtor e o método de inicialização. Você também pode definir pontos de interrupção na área que deseja avaliar, como um comando de menu. Para habilitar pontos de interrupção, você deve executar no depurador.
No menu Projeto, selecione Propriedades.
Na caixa de diálogo Páginas de Propriedades , selecione a guia Depurar .
Na caixa Argumentos de linha de comando, insira o sufixo raiz do ambiente de desenvolvimento que seu VSPackage tem como destino. Por exemplo, para selecionar o build experimental, insira: /RootSuffix Exp.
No menu Depurar , selecione Iniciar Depuração ou pressione F5.
Observação
Se você estiver depurando um projeto, crie ou carregue uma instância existente do seu projeto agora.
Use o registro de atividades.
Rastreie o comportamento do VSPackage gravando informações no log de atividades em pontos-chave. Essa técnica é especialmente útil quando você executa um VSPackage em um ambiente de varejo. Para obter mais informações, confira How to: Use the Activity Log.
Use símbolos públicos.
Para melhorar a legibilidade durante a depuração, você pode anexar símbolos ao depurador:
- No menu Ferramentas/Opções , navegue até a caixa de diálogo Depuração/Símbolos .
- Adicionar local do arquivo de símbolo (.pdb):
https://msdl.microsoft.com/download/symbols
. - Para melhorar o desempenho, especifique uma pasta de cache de símbolos, por exemplo: C:\symbols.
Um VSPackage ou uma de suas dependências está ausente
Para código gerenciado, verifique se os caminhos de referência estão corretos.
No menu Projeto, selecione Propriedades.
Selecione a guia Referências na caixa de diálogo Páginas de Propriedades e verifique se todos os caminhos estão corretos. Como alternativa, você pode usar o Pesquisador de objetos para procurar os objetos referenciados.
Para código gerenciado, você pode usar o Fuslogvw.exe (Visualizador de Log de Associação de Assembly) para exibir os detalhes de carregamentos de assembly com falha.
Para código não gerenciado, localize o CLSID do VSPackage no nó do Registro CLSID do Visual Studio:
HKLM\Software\Microsoft\Visual Studio\<version>\CLSID
Verifique se a entrada InprocServer32 tem o caminho correto da DLL VSPackage.