Modelos de texto de processamento por meio de um Host personalizado
O transformação do modelo de texto processo leva uma o modelo de texto arquivo como entrada e produz um texto de arquivo como a saída. Você pode chamar o mecanismo de transformação de texto de um Visual Studio extensão, ou a partir de um aplicativo autônomo executado em uma máquina na qual Visual Studio está instalado. No entanto, você deve fornecer um o host de modelagem de texto. Essa classe conecta o modelo para o ambiente, localizando recursos como, por exemplo, assemblies e incluir arquivos e lidar com as mensagens de erro e de saída.
Dica
Se você estiver escrevendo um pacote ou a extensão que será executado dentro de 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 Invocar a transformação de texto em uma extensão do 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 segmento. Isso ocorre porque a 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 é projetado para processar arquivos serialmente, como eles estão em um Visual Studio o projeto em tempo de design. Para aplicativos de tempo de execução, considere o uso de modelos de texto pré-processado: see Geração de texto de tempo de execução usando os modelos de texto T4. |
Se o seu aplicativo usa um conjunto de modelos que são corrigidos em tempo de compilação, é mais fácil de usar os modelos de texto pré-processado. Você também pode usar essa abordagem se seu aplicativo será executado em uma máquina na qual Visual Studio não está instalado. Para obter mais informações, consulte Geração de texto de tempo de execução usando os modelos de texto T4.
A execução de um modelo de texto em seu aplicativo.
Para executar um modelo de texto, você chamar o método ProcessTemplate do Microsoft.VisualStudio.TextTemplating.Engine:
using Microsoft.VisualStudio.TextTemplating;
...
Engine engine = new Engine();
string output = engine.ProcessTemplate(templateString, host);
Seu aplicativo deve localizar e fornecer o modelo e precisa lidar com a saída.
No host parâmetro, você deve fornecer uma classe que implementa ITextTemplatingEngineHost. Isso é chamado de volta pelo mecanismo.
O host deve ser capaz de registrar erros, resolver referências de assembly e incluir arquivos, fornecer um domínio de aplicativo no qual o modelo pode executar e chame o processador apropriado para cada diretiva.
Microsoft.VisualStudio.TextTemplating.Engineé definido em Microsoft.VisualStudio.TextTemplating.10.0.dll, e ITextTemplatingEngineHost é definido em Microsoft.VisualStudio.TextTemplating.Interfaces.10.0.dll.
Nesta seção
- Demonstra 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 faz fora texto modelo funcionalidade disponível Visual Studio.
Referência
Seções relacionadas
O processo de transformação do modelo de texto
Descreve como funciona a transformação de texto, e quais partes que você podem personalizar.A criação de processadores de diretiva de modelo de texto personalizado
Fornece uma visão geral do texto de processadores de diretriz de modelo.
Histórico de alterações
Date |
History |
Motivo |
---|---|---|
Outubro de 2010 |
Nota elaborated sobre segurança do thread |
Comentários do cliente. |