Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
O processo de transformação do modelo de texto usa um arquivo de modelo de texto como entrada e produz um arquivo de texto como 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 uma máquina na qual o Visual Studio está instalado. No entanto, você deve fornecer um host de modelagem de texto. Essa classe conecta o modelo ao ambiente, localizando recursos como assemblies e arquivos de inclusão, e lidando com as mensagens de saída e de erro.
Sugestão
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 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 motor é concebido para processar ficheiros em série, como estão num projeto do Visual Studio no momento da conceção.
Para aplicações de tempo de execução, considere o uso de modelos de texto preprocessados: consulte Geração de texto em tempo de execução com modelos de texto T4.
Se seu aplicativo usa um conjunto de modelos que são corrigidos em tempo de compilação, é mais fácil usar modelos de texto pré-processados. Você também pode usar essa abordagem se seu aplicativo será executado em uma máquina na qual o Visual Studio não está instalado. Para obter mais informações, consulte Run-Time Text Generation with T4 Text Templates.
Executar um modelo de texto em seu aplicativo
Para executar um modelo de texto, chame 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 implementa ITextTemplatingEngineHost. Isso é chamado de volta pelo Motor.
O host deve ser capaz de registrar erros, resolver referências a assembly e incluir arquivos, fornecer um domínio de aplicativo no qual o modelo possa 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 secção
Passo a passo: Criando um host de modelo de texto personalizado mostra como criar um host de modelo de texto personalizado que torna a funcionalidade de modelo de texto disponível fora do Visual Studio.
Reference
Conteúdo relacionado
- O Processo de Transformação de Modelo de Texto descreve como funciona a transformação de texto 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.