Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La ventana Lista de errores en Visual Studio muestra advertencias y errores para las plantillas de texto. Este tema describe las advertencias y errores comunes, y explica cómo puede corregirlos.
Descripciones de los errores y correcciones
En la tabla siguiente se hace una lista de los errores más comunes y sus correcciones.
Mensaje de error |
Descripción |
Soluciones |
|---|---|---|
No se pudo cargar la clase base '{0}' de la que hereda la clase Transformation. |
Se produce si no puede encontrar la clase base especificada en el parámetro inherits en una directiva de plantilla. El mensaje proporciona el número de línea de la directiva de plantilla. |
Asegúrese de que existe la clase especificada, y de que el ensamblado en el que ésta se encuentra está especificado en una directiva de ensamblado. |
No se pudo resolver el texto de inclusión del archivo: {0} |
Se produce al no poder encontrar una plantilla incluida. El mensaje proporciona el nombre del archivo de inclusión solicitado. |
Asegúrese de que la ruta de acceso del archivo es relativa a la ruta de acceso de la plantilla original, o que el archivo está en una ubicación que está registrada con el host, o que hay una ruta de acceso completa al archivo. |
Se generaron los errores al inicializar el objeto de transformación. No se ejecutará la transformación. |
Se produce cuando 'Initialize()' de la clase de transformación devolvió un error o false. |
El código de la función Initialize() procede de la clase de transformación base especificada en la directiva <#@template#> y de los procesadores de directivas. El error que impidió la inicialización probablemente está en la lista de errores. Investigue por qué se produjo un error. Puede examinar el código generado real de Initialize() siguiendo los procedimientos para depurar una plantilla. |
Al ensamblado '{0}' del procesador de directivas '{1}' no se le concedió el conjunto de permisos FullTrust. Solo los ensamblados de confianza pueden proporcionar procesadores de directivas. No se cargará este procesador de directivas. |
Se produce cuando el sistema no concede permisos FullTrust a un ensamblado que contiene un procesador de directivas. El mensaje proporciona el nombre del ensamblado y el nombre del procesador de directivas. |
Asegúrese de que solo utiliza ensamblados de confianza en el equipo local. |
La ruta de acceso '{0}' debe ser local respecto a este equipo o parte de su zona de confianza. |
Se produce cuando una directiva o directiva de ensamblado hace referencia a un archivo que no está en su equipo local o en la zona de confianza de su red. |
Asegúrese de que el directorio donde se encuentran las directivas o directivas de ensamblado están en su zona de confianza. Puede agregar un directorio de red a su zona de confianza a través de Internet Explorer. |
Varios errores de sintaxis como "Token 'catch' no válido" o "Un espacio de nombres no puede contener miembros directamente" |
Hay demasiadas llaves de cierre en su código de plantilla. El compilador está confundiéndolo con el código de generación estándar. |
Compruebe el número de llaves y corchetes de cierre dentro de los delimitadores del código. |
Bucles o condicionales no compilados o ejecutados correctamente. Por ejemplo:
Este código genera siempre el valor de i. Solo "Number is:" es condicional. |
En C#, utilice siempre llaves para encerrar los bloques de texto que se incrustan en instrucciones de control. |
Agregue llaves: |
"Expresión demasiado compleja" al preprocesar una plantilla de tiempo de ejecución o compilar una plantilla de tiempo de diseño (preprocesada). Visual Studio deja de trabajar cuando se intenta inspeccionar código generado por una plantilla en tiempo de ejecución. |
El bloque de texto es demasiado largo. T4 convierte bloques de texto en una expresión de concatenación de cadenas, con un literal de cadena para cada línea de la plantilla. Los bloques de texto muy largos pueden sobrepasar los límites de tamaño del compilador. |
Rompa el bloque de texto largo con un bloque de expresión como: <#= "" #> |
Descripciones de advertencias y correcciones
En la tabla siguiente se hace una lista de las advertencias más comunes junto con las correcciones, si están disponibles.
Mensaje de advertencia |
Descripción |
Soluciones |
|---|---|---|
La carga del archivo de inclusión '{0}' devolvió una cadena null o vacía. |
Se produce si un archivo de plantilla del texto incluido está vacío. El mensaje proporciona el nombre de archivo del archivo incluido. |
Quite la directiva de inclusión o asegúrese de que el archivo tiene algún contenido. |
Transformación de compilación: |
Antepone esta cadena a todos los errores o advertencias que se originan en el compilador cuando compila la transformación. Esta cadena significa que el compilador produjo un error o advertencia. |
Si tiene un problema para encontrar la DLL, puede que deba proporcionar la ruta de acceso completa o un nombre seguro completo si la DLL está en la GAC. |
El parámetro '{0}' ya existe en la directiva. Se omitirá el parámetro duplicado. |
Se produce cuando se especifica un parámetro más de una vez en una directiva. El mensaje proporciona el nombre del parámetro y el número de línea de la directiva. |
Quite la especificación de parámetro duplicada. |
Hubo un error al cargar el archivo de inclusión '{0}'. Se omitirá la directiva de inclusión. |
Se produce al no poder encontrar un archivo especificado en una directiva include. El mensaje proporciona el nombre del archivo y el número de línea de la directiva. |
Asegúrese de que existe el archivo de inclusión en el mismo directorio que el archivo de plantilla de texto original o en uno de los directorios de inclusión que están registrados con el host. |
Una clase base no válida se especificó para la clase Transformation. La clase base debe derivar de Microsoft.VisualStudio.TextTemplating.TextTransformation. |
Se produce cuando el parámetro inherits de una directiva de plantilla especifica una clase que no hereda de TextTransformation. El mensaje proporciona el número de línea de la directiva de plantilla. |
Especifica una clase que deriva de TextTransformation. |
Una referencia cultural no válida se especificó en la directiva 'template'. La referencia cultural debe estar en el formato "xx-XX". Se utilizará la referencia cultural de todos los idiomas. |
Se produce cuando incorrectamente se especifica el parámetro de referencia cultural en una directiva de plantilla. El mensaje proporciona el número de línea de la directiva de plantilla. |
Cambie el parámetro de referencia cultural a una referencia cultural válida con el formato "xx-XX". |
Un valor de depuración '{0}' no válido se especificó en la directiva de plantilla. El valor de depuración debe ser "true" o "false". Se utilizará el valor predeterminado de "false". |
Se produce cuando se especifica incorrectamente el parámetro debug en una directiva de plantilla. El mensaje proporciona el número de línea de la directiva de plantilla. |
Establezca el parámetro de depuración en "true" o "false". |
Un valor HostSpecific '{0}' no válido se especificó en la directiva de plantilla. El valor HostSpecific debe ser "true" o "false". Se utilizará el valor predeterminado de "false". |
Se produce cuando se especifica incorrectamente el parámetro específico de host en una directiva template. El mensaje proporciona el número de línea de la directiva de plantilla. |
Establezca el parámetro específico de host en "true" o "false". |
Un valor de lenguaje '{0}' no válido se especificó en la directiva 'template'. El lenguaje debe ser "C#" o "VB". Se utilizará el valor predeterminado de "C#". |
Se produce cuando un lenguaje no compatible se especifica en la directiva template. Solo se permite "C#" o "VB" (sin distinción entre mayúsculas y minúsculas). El mensaje proporciona el número de línea de la directiva de plantilla. |
Establezca el parámetro language de la directiva de plantilla en "C#" o"VB". |
Se encontraron varias directivas de salida en la plantilla. Se omitirán todas menos la primera. |
Se produce cuando varias directivas output se especifican en un archivo de plantilla. El mensaje proporciona el número de línea de la directiva de salida duplicada. |
Quite las directivas output duplicadas. |
Se encontraron varias directivas de plantilla en la plantilla. Se omitirán todas menos la primera. Varios parámetros de la directiva de plantilla se deberían especificar dentro de una directiva de plantilla. |
Se produce si especifica varias directivas template dentro de un archivo de plantilla de texto (incluso los archivos incluidos). El mensaje proporciona el número de línea de la directiva de plantilla duplicada. |
Agregue las diferentes directivas template en una directiva template. |
No se especificó ningún procesador para una directiva denominada '{0}'. Se omitirá la directiva. |
Se produce si especifica una directiva custom, pero no proporciona un atributo processor. El mensaje proporciona el nombre de la directiva y el número de línea. |
Proporcione un atributo processor con el nombre del procesador directive de la directiva. |
No se pudo encontrar un procesador denominado '{0}' para la directiva denominada '{1}'. Se omitirá la directiva. |
Se produce cuando el sistema no puede encontrar el procesador directive especificado dentro de una directiva custom. El mensaje proporciona el nombre de la directiva, el nombre del procesador y el número de línea de la directiva. |
Establezca el atributo processor de la directiva en el nombre del procesador de directivas. |
No se encontró un parámetro '{0}' necesario para la directiva '{1}'. Se omitirá la directiva. |
Se produce cuando el sistema no proporciona un parámetro de directiva necesario. El mensaje proporciona el nombre del parámetro que falta, el nombre de la directiva y el número de línea. |
Proporcione el parámetro que falta. |
El procesador denominado '{0}' no admite la directiva denominada '{1}'. Se omitirá la directiva. |
Se produce cuando un procesador de directivas no admite una directiva. El mensaje proporciona el nombre y número de línea de la directiva que provoca el error, junto con el nombre del procesador de directivas. |
Corrija el nombre de la directiva. |
La directiva de inclusión del archivo '{0}' produce un bucle sin fin. |
Se muestra si se especifican directivas de inclusión circulares (por ejemplo, el archivo A incluye el archivo B, que incluye el archivo A). |
No especifique directivas de inclusión circulares. |
Transformación en ejecución: |
Antepone esta cadena a todos los errores o advertencias que se generan ejecutando la transformación. |
No es aplicable |
Se ha encontrado una etiqueta de apertura o cierre inesperada dentro de un bloque. Asegúrese de que no escribió mal ninguna etiqueta de inicio o cierre, y de que no tiene ningún bloque anidado en la plantilla. |
Mostrado al tener un <# o #> inesperado. Es decir, si tiene un <# después de otra etiqueta de apertura que no se ha cerrado, o si tiene un #> cuando no hay ninguna etiqueta de apertura sin cerrar antes de él. El mensaje proporciona el número de línea de la etiqueta sin correspondencia. |
Quite la etiqueta de apertura o cierre sin correspondencia, o utilice un carácter de escape. |
Una directiva se especificó en el formato equivocado. Se omitirá la directiva. Especifique la directiva con el formato <#@ nombre [nombredeparámetro="valordeparámetro"]* #> |
Lo muestra el analizador si no se especifica una directiva en el formato correcto. El mensaje proporciona el número de línea de la directiva incorrecta. |
Asegúrese de que todas las directivas están en el formato <#@ nombre [nombredeparámetro="valordeparámetro"]* #>. Para obtener más información, vea Directivas de plantilla de texto T4. |
No se pudo cargar el Ensamblado '{0}' para el procesador de directivas registrado '{1}' {2} |
Se produce cuando el host no pudo cargar un procesador de directivas. El mensaje identifica el ensamblado proporcionado para el procesador de directivas y el nombre del procesador de directivas. |
Asegúrese de que el procesador de directivas está registrado correctamente y de que existe el ensamblado. |
No se pudo encontrar el tipo '{0}' en el Ensamblado '{1}' para el procesador de directivas registrado '{2}' {3} |
Se produce cuando un tipo de procesador de directivas no se pudo cargar desde su ensamblado. El mensaje proporciona el nombre del tipo, ensamblado y procesador de directivas. |
vshost busca la información del procesador de directivas (nombre, ensamblado y tipo) en el Registro. Asegúrese de que el procesador de directivas está registrado correctamente y de que existe el tipo en el ensamblado. |
Hubo un problema al cargar el ensamblado '{0}' |
Se produce cuando hay un problema al cargar un ensamblado. El mensaje proporciona el nombre del ensamblado. |
Puede especificar que se carguen ensamblados en las directivas <@#assembly#>, y por procesadores de directivas. El mensaje de error que sigue a esta cadena debería proporcionar más datos sobre por qué se produjo un error en la carga del ensamblado. |
Hubo un problema al crear e inicializar el procesador para una directiva denominada '{1}'. El tipo del procesador es {0}. Se omitirá la directiva. |
Se produce cuando el sistema no pudo crear o inicializar un procesador de directivas. El mensaje proporciona el nombre y número de línea de la directiva y el tipo del procesador. |
Asegúrese de que utiliza el procesador de directivas correcto y de que este tiene un constructor predeterminado público. De lo contrario, utilice las opciones de depuración para averiguar por qué el método Initialize() del procesador de directivas está produciendo un error. Para obtener más información, vea Solucionar problemas de las plantillas de texto T4. |
Se produjo una Excepción procesando una directiva denominada '{0}'. |
Se produce cuando un procesador de directivas produce una excepción al procesar una directiva. |
Asegúrese de que los parámetros al procesador de directivas son correctos. |
El host produjo una excepción intentando resolver la referencia del ensamblado '{0}'. |
Se produce cuando el host genera una excepción cuando intenta resolver una referencia de ensamblado. El mensaje proporciona la cadena de referencia del ensamblado. |
Las referencias del ensamblado proceden de las directivas <@#assembly#> y de los procesadores de directivas. Asegúrese de que el parámetro 'name' proporcionado en el parámetro de ensamblado es correcto. |
Intente especificar el valor '{0}' no compatible {1} para la directiva {2} |
Lo produce RequiresProvidesDirectiveProcessor (todos nuestros procesadores de directivas generados derivan de él), al proporcionar un argumento requires o provides no compatible. |
Asegúrese de que los nombres de los pares name='value' proporcionados en los parámetros requires y provides son correctos. |