Novedades en la generación de código y las plantillas de texto

Las plantillas de texto de Visual Studio permiten generar código y recursos para la aplicación, así como cualquier tipo de archivo de texto o documento en tiempo de ejecución.

Novedades de Service Pack 1 (SP1)

Puede obtener las siguientes características instalando SP1 para Visual Studio 2010.

  • Depuración de ensamblados
    Si la plantilla de texto carga un ensamblado que se está depurando, puede recompilar el ensamblado sin dificultad.

    En las versiones de Visual Studio anteriores a SP1, a veces es difícil recompilar un ensamblado cargado recientemente por una plantilla, porque la plantilla bloquea el ensamblado. A partir de SP1, la plantilla carga una copia del ensamblado, de forma que no se bloquea el ensamblado original. Si recompila el ensamblado, en la siguiente ocasión en que se ejecute la plantilla, se recargará una nueva copia del ensamblado. Para obtener más información, vea Directiva de ensamblado T4.

  • Herencia entre Plantillas de texto
    Puede definir una plantilla de texto que contiene un marco de bloques de texto que es común a distintas variantes. Las plantillas variantes pueden heredar a partir de la plantilla común. Para obtener ejemplos y más información, vea Directiva de plantilla T4 y Generación de texto en tiempo de ejecución mediante el uso de plantillas de texto T4 preprocesadas.

Características nuevas y mejoradas en Visual Studio 2010

Característica

Tema

Plantillas de texto preprocesadas: proporcionan un método cómodo para generar archivos de texto en cualquier aplicación en tiempo de ejecución.

Generación de texto en tiempo de ejecución mediante el uso de plantillas de texto T4 preprocesadas

Integración de compilación: asegúrese de que los archivos de programa generados se mantienen al día con sus archivos de código fuente o su modelo. Esta característica está disponible al instalar Domain-Specific Language Tools.

Generación de código en un proceso de compilación

Tareas de transformación de texto para MsBuild: permiten transformar archivos específicos en un proyecto al compilar este en la línea de comandos de Visual Studio.

Si tiene scripts que llaman a TextTransform.exe, puede descubrir que este método es más flexible.

Generación de código en un proceso de compilación

Compatibilidad para Modelbus de Visual Studio: proporciona un método estándar de acceso a varios modelos desde una plantilla de texto.

Microsoft.VisualStudio.TextTemplating.Modeling.ModelBusEnabledTextTransformation

Separación entre DSL y modelos: no necesita un lenguaje específico de dominio para utilizar plantillas de texto, aunque las dos características se introdujeran a la vez. Las plantillas de texto y la generación de archivos forman parte integrada de Visual Studio.

Generar código a partir de lenguajes específicos de dominio

Acceso al proveedor de servicios: disponible en una propiedad de ModelingTextTransform.

Métodos de utilidad de las plantillas de texto T4

Acceso al entorno: en directivas de plantilla de texto, puede utilizar macros de Visual Studio como $(ProjectDir) o variables de entorno de Windows, tales como %ProgramFiles%.

Directivas de plantilla de texto T4

Cambios en la personalización

Se han llevado a cabo las siguientes mejoras que pueden afectarle si ha personalizado el proceso de generación de plantillas de texto.

Característica

Tema

Cambios en espacios de nombres y ensamblados: algunos tipos se han movido al ensamblado Microsoft.VisualStudio.TextTemplating.Interfaces.

Tutorial: Crear un procesador de directivas personalizadas

Tutorial: Crear un host de plantillas de texto personalizadas

Diccionario de la sesión: diccionario serializado que se pasa al dominio de aplicación donde se ejecuta una plantilla de texto. Proporciona un método estándar para que un host de plantillas de texto pase datos al código de plantilla de texto.

Tutorial: Crear un host de plantillas de texto personalizadas

Otros Cambios desde Visual Studio 2008

Ensamblados a los que se hace referencia en las plantillas de texto

Las referencias del proyecto actual ya no se utilizan para buscar ensamblados.

En una directiva de ensamblado, indique la ubicación del ensamblado requerido explícitamente.

Puede utilizar macros de Visual Studio como $(ProjectDir) o variables de entorno de Windows, tales como% ProgramFiles%, como parte de la ubicación del ensamblado.

Ensamblados de transformación de texto

Todos los ensamblados a los que puede que necesite hacer referencia para utilizar plantillas de texto tienen el sufijo "10.0":

  • Microsoft.VisualStudio.TextTemplating.10.0.dll

  • Microsoft.VisualStudio.TextTemplating.Interfaces.10.0.dll

  • Microsoft.VisualStudio.TextTemplating.Vshost.10.0.dll

  • Microsoft.VisualStudio.TextTemplating.Modeling.10.0.dll

Espacios de nombres

No hay ningún espacio de nombres "Microsoft.VisualStudio.TextTemplating.Interfaces". Se trata de un cambio en la versión Beta2 de Visual Studio 2010.

Iniciar el depurador

Para iniciar el depurador a partir de una plantilla de texto, inserte esta llamada en el punto donde desea iniciar el recorrido a través de la ejecución:

System.Diagnostics.Debugger.Launch();

Para volver al depurador en los puntos de interrupción posteriores, realice la llamada:

System.Diagnostics.Debugger.Break();

Versión de lenguaje predeterminado

La versión última (4) del compilador siempre se utilizará para compilar plantillas de texto. En Visual Studio 2008, el compilador predeterminado es 2.0, pero puede especificar una versión posterior del lenguaje de programación de plantilla, por ejemplo <#@ template language="VBv3.5" #>. En Visual Studio 2010, el número de versión se omitirá y se notificará una advertencia. Si tiene una plantilla que desea utilizar en ambas versiones de Visual Studio, puede omitir la advertencia.

Vea también

Conceptos

Novedades de Visual Studio 2010