Partilhar via


Erros e avisos durante o uso de modelos de texto comuns

O Error List Visual Studio janela exibe avisos e erros de modelos de texto. Este tópico descreve os erros e avisos comuns e explica como corrigi-los.

Correções e descrições de erro

A tabela a seguir lista os erros mais comuns e suas correções.

Mensagem de erro

Descrição

Solução

Falha ao carregar a classe base '{0}' a partir do qual a transformação classe herda.

Ocorre se você não conseguir encontrar a classe base especificada na inherits parâmetro em uma diretiva de modelo. A mensagem fornece o número de linha de diretriz de modelo.

Certifique-se de que a classe especificada existe e se o assembly que ela existe no está especificado em uma diretiva de assembly.

Falha ao resolver incluir texto incluso}

Ocorre quando você não conseguir encontrar um modelo incluído. A mensagem fornece o nome do arquivo incluir solicitada.

Certifique-se de que o caminho é relativo ao caminho de modelo original, ou que o arquivo está em um local que está registrado com o host ou que há um caminho completo para o arquivo.

Erros foram gerados ao inicializar o objeto de transformação. A transformação não será executada.

Ocorre quando o 'Initialize ()' da transformação classe falhou ou retornado false.

O código da função Initialize () vem da classe base de transformação especificada em <#@template#> diretiva e de processadores de diretriz. O erro que causou initialize falha provavelmente está na lista de erros. Investigar a razão da falha. Você pode procurar o código gerado real Initialize (), seguindo os procedimentos para depurar um modelo.

O assembly '{0}' processador de diretriz '{1}' não foi concedida a permissão FullTrust. Somente os assemblies confiáveis são permitidos para fornecer processadores de diretriz. O processador de diretriz não será carregado.

Ocorre quando o sistema não concede permissões de FullTrust para um assembly que contém um processador de diretriz. A mensagem fornece o nome do assembly e o nome do processador de diretriz.

Certifique-se de que você use somente assemblies confiáveis na máquina local.

O caminho '{0}' deve ser local neste computador ou parte de uma zona confiável.

Ocorre quando uma diretiva ou a diretiva de assembly faz referência a um arquivo que está não na sua máquina local ou na zona de confiável da rede.

Certifique-se de que o diretório onde estão localizadas a diretiva ou as diretivas do assembly está em sua zona confiável. Você pode adicionar um diretório de rede para a zona confiável através do Internet Explorer.

Vários erros de sintaxe como, por exemplo, "Inválido token 'catch'" ou "um espaço para nome não contém membros diretamente"

Há muitas chaves de fechamento em seu código de modelo. O compilador está confuso com o código de geração de padrão.

Verifique o número de fechamento de chaves e colchetes dentro de delimitadores de código.

Loops ou condicionais não compilado ou executado corretamente. Por exemplo:

<#if (i>10)#>
   Number is: <#= i #>.

Esse código sempre produz o valor de i. Somente "número é:" é condicional.

Em C#, sempre use chaves para envolver os blocos de texto são incorporados em instruções de controle.

Adicione chaves:

<#if (i>10) { #>
   Number is: <#= i #>.
<# } #>

Correções e descrições de aviso

A tabela a seguir lista os avisos mais comuns juntamente com correções, se disponível.

Mensagem de aviso

Descrição

Solução

O carregamento do arquivo '{0}' retornou uma cadeia de caracteres nula ou vazia.

Ocorre se um arquivo de modelo de texto incluído estiver em branco. A mensagem fornece o nome de arquivo do arquivo incluído.

Remova a diretiva de inclusão ou certifique-se de que o arquivo tem algum conteúdo.

Compilando transformação:

Esta seqüência para todos os erros ou avisos originário do compilador, quando ele compila a transformação toma o lugar. Essa seqüência de caracteres significa que o compilador gerou um erro ou aviso.

Se você tiver um problema ao encontrar a DLL, talvez você precise fornecer o caminho completo ou um nome de alta segurança totalmente qualificado, se a DLL no GAC.

O parâmetro '{0}' já existe na diretiva. O parâmetro duplicado será ignorado.

Ocorre quando um parâmetro é especificado mais de uma vez em uma diretiva. A mensagem fornece o nome do parâmetro e o número da linha da diretiva.

Remova a especificação do parâmetro duplicado.

Houve um erro ao carregar o arquivo de inclusão '{0}'. A diretiva de inclusão será ignorada.

Ocorre quando você não conseguir localizar um arquivo especificado em um include diretiva. A mensagem fornece o nome do arquivo e o número da linha da diretiva.

Certifique-se de que o arquivo de inclusão exista no mesmo diretório do arquivo de modelo de texto original ou em um dos diretórios de inclusão que estão registrados com o host.

Uma classe base inválida foi especificada para a classe de transformação. A classe base deve derivar de TextTransformation.

Ocorre quando o inherits parâmetro em uma diretiva de modelo Especifica uma classe que não herda de TextTransformation. A mensagem fornece o número de linha de diretriz de modelo.

Especificar uma classe que deriva de TextTransformation.

Uma cultura inválida foi especificada no modelo' ' diretiva. A cultura deve estar no "xx-XX" formato. A cultura invariável será usada.

Ocorre quando o parâmetro de cultura em uma diretiva de modelo é especificado incorretamente. A mensagem fornece o número de linha de diretriz de modelo.

Altere o parâmetro de cultura para uma cultura válida em "xx-XX" formato.

Um valor de depuração inválido '{0}' foi especificado na diretriz de modelo. O valor de depuração deve ser "true" ou "false". O padrão "false" será usado.

Ocorre quando o debug parâmetro em uma diretiva de modelo é especificado incorretamente. A mensagem fornece o número de linha de diretriz de modelo.

Defina o parâmetro de depuração como "verdadeiro" ou "false".

Um valor de HostSpecific inválido '{0}' foi especificado na diretriz de modelo. O valor de HostSpecific deve ser "true" ou "false". O padrão "false" será usado.

Ocorre quando o parâmetro de host específico em um template diretiva é especificada incorretamente. A mensagem fornece o número de linha de diretriz de modelo.

Defina o parâmetro de host específicos como "verdadeiro" ou "false".

Um idioma inválido '{0}' foi especificado em 'template' diretiva. A linguagem deve ser um dos "C#" ou "vb". O valor padrão de "C#" será usado.

Ocorre quando um idioma sem suporte especificado na template diretiva. Somente "C#" ou "vb" são permitidos (com distinção entre maiúsculas e minúsculas). A mensagem fornece o número de linha de diretriz de modelo.

Definir o language parâmetro na diretriz de modelo para "C#" ou "vb".

Várias diretrizes de saída foram encontradas no modelo. Todas, exceto o primeiro serão ignoradas.

Ocorre quando vários output as diretivas são especificadas em um arquivo de modelo. A mensagem fornece o número da linha da diretiva de saída duplicado.

Remover a duplicata output diretivas.

Várias diretrizes de modelo foram encontradas no modelo. Todas, exceto o primeiro serão ignoradas. Vários parâmetros para a diretiva de modelo devem ser especificados dentro de uma diretriz de modelo.

Ocorre se você especificar várias template diretivas dentro de um arquivo de modelo de texto (incluindo arquivos incluídos). A mensagem fornece o número de linha de diretriz de modelo duplicado.

Agregam os diferentes template diretivas em um template diretiva.

Nenhum processador foi especificado para uma diretriz chamada '{0}'. A diretiva será ignorada.

Ocorre se você especificar um custom diretiva, mas não fornecem um processor atributo. A mensagem fornece o nome da diretiva e o número da linha.

Fornecer um processor atributo com o nome da directive o processador da diretiva.

Um processador chamado '{0}' não foi encontrado na diretriz chamada '{1}'. A diretiva será ignorada.

Ocorre quando o sistema não pode encontrar o directive processador especificado dentro de um custom diretiva. A mensagem fornece o nome de diretiva, o nome do processador e o número da linha da diretiva.

Definir o processor atributo na diretiva para o nome do processador de diretriz.

Um parâmetro obrigatório '{0}' para a diretiva '{1}' não foi encontrado. A diretiva será ignorada.

Ocorre quando o sistema não fornece um parâmetro obrigatório de diretiva. A mensagem fornece o nome do parâmetro ausente, o nome da diretiva e o número da linha.

Fornece o parâmetro ausente.

O processador chamado '{0}' não oferece suporte a diretriz chamada '{1}'. A diretiva será ignorada.

Ocorre quando um processador de diretriz não oferece suporte a uma diretiva. A mensagem fornece o número de linha e o nome da diretiva ofensivo junto com o nome do processador de diretriz.

Corrija o nome da diretiva.

A diretiva de inclusão para arquivo '{0}' faz um loop infinito.

Exibida se as diretivas de inclusão circular são especificados (por exemplo, o arquivo a inclui arquivo B, que inclui o arquivo A).

Não especifique circular as diretivas de inclusão.

Executando transformação:

Esta seqüência para todos os erros ou avisos são gerados ao executar a transformação toma o lugar.

Não aplicável.

Uma marca de início ou fim inesperada foi encontrada dentro de um bloco. Certifique-se de que você não digitou incorretamente uma marca de início ou fim e que você não tem blocos aninhados no modelo.

Exibida quando o inesperado < # ou # >. Ou seja, se você tiver <#> depois de outra marca de abertura não foi fechada ou você possui um # Quando há uma marca de abertura não fechada antes dele. A mensagem fornece o número da linha da marca incompatível.

Remova a marca de início ou fim incompatível ou usar um caractere de escape.

Uma diretriz foi especificada no formato errado. A diretiva será ignorada. Especifique a diretriz no formato < # @ nome [parametername = "parametervalue"] * # >

Exibido pelo analisador, se uma diretiva não for especificada no formato correto. A mensagem fornece o número da linha da diretiva incorreta.

Certifique-se de que todas as diretivas estão no formato < # @ nome [parametername = "parametervalue"] * # >. Para obter mais informações, consulte T4 Diretivas de modelo de texto.

Falha ao carregar o Assembly '{0}' registrado processador de diretriz '{1}'

{2}

Ocorre quando um processador de diretriz não pôde ser carregado pelo host. A mensagem identifica o assembly fornecido para o processador de diretriz e o nome do processador de diretriz.

Certifique-se de que o processador de diretriz está registrado corretamente e que o assembly existe.

Falha ao localizar o tipo '{0}' no Assembly '{1}' registrado processador de diretriz '{2}'

{3}

Ocorre quando um tipo de processador de diretriz não pôde ser carregado a partir do seu assembly. A mensagem fornece o nome do tipo, do assembly e do processador de diretriz.

O vshost localiza informações do processador de diretriz (nome do assembly e tipo) no registro. Certifique-se de que o processador de diretriz está registrado corretamente e se o tipo existe no assembly.

Houve um problema ao carregar o assembly '{0}'

Ocorre quando há um problema ao carregar um assembly. A mensagem fornece o nome do assembly.

Você pode especificar os assemblies sejam carregados no < @ # assembly # > diretivas e por processadores de diretriz. A mensagem de erro que segue essa seqüência de caracteres deve fornecer o mais dados sobre por que o carregamento de assembly falhou.

Houve um problema criando e inicializando o processador de diretriz chamada '{1}'. O tipo do processador é {0}. A diretiva será ignorada.

Ocorre quando o sistema não foi possível criar ou inicializar um processador de diretriz. A mensagem fornece o número de linha e o nome da diretiva e o tipo do processador.

Certifique-se de usar o processador de diretriz correto e que o processador de diretriz tem um construtor público padrão. Caso contrário, use as opções de depuração para descobrir por que o método Initialize () do processador de diretriz está falhando. Para obter mais informações, consulte Solucionando problemas de modelos de texto T4.

Ocorreu uma exceção ao processar uma diretriz chamada '{0}'.

Ocorre quando um processador de diretriz lança uma exceção ao processar uma diretiva.

Certifique-se de que os parâmetros para o processador de diretriz estão corretos.

O host lançou uma exceção ao tentar resolver a referência de assembly '{0}'.

Ocorre quando o host lança uma exceção ao tentar resolver uma referência de assembly. A mensagem fornece o conjunto da cadeia de caracteres de referência.

Assembly referências provenientes < @ # assembly # > as diretivas e de processadores de diretriz. Ter certeza de que o nome o parâmetro fornecido no parâmetro assembly está correto.

Tente especificar o valor sem suporte {1} '{0}' de diretiva {2}

Ocorre pelo RequiresProvidesDirectiveProcessor (todos nossos processadores de diretriz gerados derivam), quando você fornece um suporte requer ou fornece um argumento.

Ter certeza de que os nomes a name = 'valor' pares fornecidas a requer e fornece os parâmetros estão corretos.

Consulte também

Tarefas

Demonstra Passo a passo: Depuração de um modelo de texto