Extensões de recurso de solução de problemas
Você pode criar suas próprias extensões de recurso, como, por exemplo, regras de análise de código personalizado, condições de teste de unidade de banco de dados, geradores de dados, tipos de refatoração, colaboradores da compilação e colaboradores da implantação. Quando você instala essas extensões de recurso, podem surgir problemas que impedem sua extensão de carregado com êxito. Este tópico discute os problemas mais comuns e as etapas que você pode adotar para solucioná-los. Para obter mais informações sobre como instalar e registrar extensões de recurso, consulte Como: Registrar e gerenciar extensões de recurso.
Primeiras etapas quando uma extensão do recurso não está carregando.
Depois de instalar e registrar a extensão do recurso, você deve reiniciar Visual Studio. A primeira etapa que você deve executar após reiniciar o Visual Studio é exibir o Error List. Se uma ou mais extensões não podem ser carregadas, os erros podem aparecer na Error List. No menu Exibir, clique em lista de erros. Se um erro como aparecerá o seguinte, sua extensão não foi carregado corretamente:
Failed to load extension MyBuildContributor.ModelStatisticsReport. Exception message: Could not load type 'MyBuildContributor.ModelStatisticsReport' from assembly 'MyBuildContributor, Version 1.0.0.0, Culture=neutral, PublicKeyToken=34fdfd7e8ae7c7a8'.
Em algumas situações, por exemplo, se nenhum. extensions.xml arquivo foi encontrado, sua extensão não será carregado, mas nenhum erro será exibida.
Diagnosticar por que sua extensão Falha ao carregar
Razões sua extensão falhar ao carregar incluem o seguinte:
O arquivo de extensão contém um ou mais erros
O assembly de extensão não está assinado.
O arquivo extensions.xml não foi encontrado.
O assembly de extensão não foi encontrado.
O código na extensão não estende as classes corretas
Classes ou membros na extensão não possuem os atributos corretos
A arquivo de extensão contém uma ou mais erros
O motivo mais comum que não carrega uma extensão é ter um ou mais dos seguintes erros no arquivo Extensions.XML:
Nome do tipo incorreto
Nome de montagem incorreta
Número de versão incorreta
Token de chave pública incorreto
Para obter informações sobre como criar um arquivo de extensions.xml, consulte Como: Registrar e gerenciar extensões de recurso.
O Assembly de extensão não está assinado.
Se o seu conjunto de extensão não estiver assinado, não pode ser carregado por Visual Studio. Para assinar um assembly de extensão, siga estas etapas:
Para assinar e compilar o assembly
Abra a solução que contém o seu projeto de extensão.
Sobre o projeto menu, clique em Propriedades de MyExtensionProject, onde MyExtensionProject é o nome do projeto que contém a extensão de recurso que você deseja assinar.
Clique na guia Signing.
Clique em Sign the assembly.
Em Choose a strong name key file, clique em <New>.
No Create Strong Name Key na caixa nome do arquivo de chave, tipo MyRefKey.
(opcional) Você pode especificar uma senha para seu arquivo de chave de nome forte.
Clique em OK.
No menu File, clique em Save All.
Sobre o Build menu, clique em Build Solution.
Em seguida, você deve instalar e registrar o assembly para que ele será carregado quando você implantar projetos de banco de dados.
O arquivo Extensions.XML não foi encontrado.
Se você não forneceu um arquivo XML para registrar sua extensão com Visual Studio, sua extensão não será carregada. Normalmente, copie o MyAssembly.O arquivo Extensions.XML para a pasta de 10.0\VSTSDB\Extensions\MyExtensions de Visual Studio do programa Files%\Microsoft %, onde MyAssembly é o nome da sua extensão.
Observação |
---|
Recomendamos que você não copiar os arquivos XML diretamente na pasta [arquivos de programa] \Microsoft Visual Studio 10.0\VSTSDB\Extensions. Se você usar uma subpasta em vez disso, você evitará que alterações acidentais feitas para os arquivos que são fornecidos com Visual Studio. |
Para obter mais informações sobre como criar um arquivo de Extensions.XML, consulte Como: Registrar e gerenciar extensões de recurso.
O Assembly de extensão não foi encontrado.
Se você não copiar seu assembly de extensão para a pasta Extensions, sua extensão não será carregada. Normalmente, copie o MyAssembly. dll e arquivos de MyAssembly.pdb para a pasta de 10.0\VSTSDB\Extensions\MyExtensions de Visual Studio do programa Files%\Microsoft %, onde MyAssembly é o nome da sua extensão.
Observação |
---|
Recomendamos que você não copiar os arquivos XML diretamente na pasta [arquivos de programa] \Microsoft Visual Studio 10.0\VSTSDB\Extensions. Se você usar uma subpasta em vez disso, você evitará que alterações acidentais feitas para os arquivos que são fornecidos com Visual Studio Premium. |
O código na extensão não estende as Classes corretas
Para cada tipo de extensão do recurso, a principal classe estende uma classe base específica. Se você não herda da classe base correta, a sua extensão não funcionará corretamente. Para obter mais informações, consulte Explicação passo a passo correspondente.
Classes ou membros na extensão não possuem os atributos corretos
Para cada tipo de extensão do recurso, a classe deve ter um atributo que declara o tipo de banco de dados de provedores de esquema com o qual a extensão é compatível. Além disso, algumas extensões exigem atributos adicionais em um ou mais dos métodos de classe. Para obter mais informações, consulte Explicação passo a passo correspondente.
Consulte também
Conceitos
Criar banco de dados personalizado refatoração tipos ou destinos
Criar e registrar regras adicionais para analisar o código do banco de dados
Gerar dados de teste especializado com um gerador de dados personalizados
Definir condições de personalizado para testes de unidade de banco de dados