Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O processo de transformação de modelo de texto usa um arquivo de modelo de texto como entrada e produz um arquivo de texto como a saída. Você pode chamar o mecanismo de transformação de texto de uma extensão do Visual Studio ou de um aplicativo autônomo em execução em um computador no qual o Visual Studio está instalado. No entanto, você deve fornecer um host de modelagem de texto. Essa classe conecta o modelo ao ambiente, encontrando recursos como assemblies e arquivos de inclusão e lidando com as mensagens de saída e de erro.
Dica
Se você estiver escrevendo um pacote ou extensão que será executado no Visual Studio, considere usar o serviço de modelagem de texto, em vez de escrever seu próprio host. Para obter mais informações, consulte Invocando a Transformação de Texto em uma Extensão VS.
Observação
Não recomendamos o uso de transformações de modelo de texto em aplicativos de servidor. Não recomendamos o uso de transformações de modelo de texto, exceto em um único thread. Isso ocorre porque o mecanismo de modelagem de texto reutiliza um único AppDomain para traduzir, compilar e executar modelos. O código traduzido não foi projetado para ser thread-safe. O Mecanismo foi projetado para processar arquivos em série, como em um projeto do Visual Studio no tempo de design.
Para aplicativos em tempo de execução, considere o uso de modelos de texto pré-processados: consulte Geração de Texto em Tempo de Execução com Modelos de Texto T4.
Se o aplicativo usar um conjunto de modelos corrigidos no tempo de compilação, será mais fácil usar modelos de texto pré-processados. Você também pode usar essa abordagem se o aplicativo for executado em um computador no qual o Visual Studio não está instalado. Para obter mais informações, consulte Geração de Texto em Tempo de Execução com Modelos de Texto T4.
Executar um modelo de texto em seu aplicativo
Para executar um modelo de texto, você chama o método ProcessTemplate de Microsoft.VisualStudio.TextTemplating.Engine:
using Microsoft.VisualStudio.TextTemplating;
...
Engine engine = new Engine();
string output = engine.ProcessTemplate(templateString, host);
Seu aplicativo deve encontrar e fornecer o modelo e deve lidar com a saída.
host No parâmetro, você deve fornecer uma classe que implemente ITextTemplatingEngineHost. Isso é invocado novamente pelo Engine.
O host deve ser capaz de registrar erros de log, resolver referências ao assembly e incluir arquivos, fornecer um Domínio de Aplicativo no qual o modelo pode ser executado e chamar o processador apropriado para cada diretiva.
Microsoft.VisualStudio.TextTemplating.Engine é definido em Microsoft.VisualStudio.TextTemplating.*.0.dlle ITextTemplatingEngineHost é definido em Microsoft.VisualStudio.TextTemplating.Interfaces.*.0.dll.
Nesta seção
Passo a passo: a criação de um host de modelo de texto personalizado mostra como criar um host de modelo de texto personalizado que disponibiliza a funcionalidade de modelo de texto fora do Visual Studio.
Referência
Conteúdo relacionado
- O Processo de Transformação Modelo de Texto descreve como a transformação de texto funciona e quais partes você pode personalizar.
- A criação de processadores de diretiva de modelo de texto T4 personalizados fornece uma visão geral dos processadores de diretiva de modelo de texto.