Procesar las plantillas de texto mediante un host personalizado
El proceso de transformación de plantillas de texto toma un archivo de plantilla de texto como entrada y produce un archivo de texto como salida. Puede llamar al motor de transformación de texto desde una extensión de Visual Studio o desde una aplicación independiente que se ejecuta en un equipo donde está instalado Visual Studio. Sin embargo, debe proporcionar un host de plantillas de texto. Esta clase conecta la plantilla al entorno, localizando recursos como ensamblados y archivos de inclusión, y trabajando con los mensajes de error y resultado.
Sugerencia |
---|
Si está escribiendo una extensión o paquete que se ejecutará con Visual Studio, considere la posibilidad de utilizar el servicio de plantillas de texto, en lugar de escribir su propio host. Para obtener más información, vea Invocar la transformación de texto en una extensión de VS. |
Nota
No se recomienda utilizar las transformaciones de plantilla de texto en aplicaciones de servidor. No se recomienda utilizar las transformaciones de plantilla de texto excepto en un subproceso único. Esto se debe a que el motor de plantillas de texto vuelve a utilizar un AppDomain único para traducir, compilar y ejecutar plantillas. El código traducido no es seguro para subprocesos. El motor está diseñado para procesar archivos en serie, como se encuentran en un proyecto de Visual Studio en tiempo de diseño.
Para aplicaciones en tiempo de ejecución, considere la posibilidad de utilizar plantillas de texto preprocesadas: vea Generación de texto en tiempo de ejecución mediante el uso de plantillas de texto T4 preprocesadas.
Si la aplicación utiliza un conjunto de plantillas que se corrigen en tiempo de compilación, resulta más sencillo usar plantillas de texto preprocesadas. También puede utilizar ese enfoque si la aplicación se va a ejecutar en un equipo donde no está instalado Visual Studio. Para obtener más información, vea Generación de texto en tiempo de ejecución mediante el uso de plantillas de texto T4 preprocesadas.
Ejecutar una plantilla de texto en la aplicación
Para ejecutar una plantilla de texto, se llama al método ProcessTemplate de Microsoft.VisualStudio.TextTemplating.Engine:
using Microsoft.VisualStudio.TextTemplating;
...
Engine engine = new Engine();
string output = engine.ProcessTemplate(templateString, host);
La aplicación debe encontrar y proporcionar la plantilla y debe trabajar con el resultado.
En el parámetro host, debe proporcionar una clase que implemente ITextTemplatingEngineHost. El motor lo vuelve a llamar.
El host debe poder registrar errores, resolver referencias a archivos de ensamblado e inclusión, proporciona un dominio de aplicación en el que se pueda ejecutar la plantilla, y llamar el procesador adecuado para cada directiva.
Microsoft.VisualStudio.TextTemplating.Engine se define en Microsoft.VisualStudio.TextTemplating.10.0.dll y ITextTemplatingEngineHost se define en Microsoft.VisualStudio.TextTemplating.Interfaces.10.0.dll.
En esta sección
- Tutorial: Crear un host de plantillas de texto personalizadas
Muestra cómo crear un host de plantilla de texto personalizado que permita disponer de la funcionalidad de plantilla de texto fuera de Visual Studio.
Referencia
Secciones relacionadas
El proceso de transformación de las plantillas de texto
Describe cómo funciona la transformación de texto y qué partes se pueden personalizar.Crear procesadores de directivas personalizadas para las plantillas de texto
Proporciona información general sobre los procesadores de directivas de plantilla de texto.
Historial de cambios
Fecha |
Historial |
Motivo |
---|---|---|
Octubre de 2010 |
Nota sobre seguridad para subprocesos |
Comentarios de los clientes. |