Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Il processo di trasformazione modello di testo accetta un file modello di testo come input e produce un file di testo come output. È possibile chiamare il motore di trasformazione del testo da un'estensione di Visual Studio o da un'applicazione autonoma in esecuzione in un computer in cui è installato Visual Studio. Tuttavia, è necessario fornire un host di modellazione del testo. Questa classe connette il modello all'ambiente, trovando risorse come assembly e include file e gestendo i messaggi di output e di errore.
Suggerimento
Se si scrive un pacchetto o un'estensione che verrà eseguita all'interno di Visual Studio, è consigliabile usare il servizio di creazione modelli di testo, anziché scrivere il proprio host. Per altre informazioni, vedere Richiamo della trasformazione del testo in un'estensione di Visual Studio.
Annotazioni
Non è consigliabile usare trasformazioni di modelli di testo nelle applicazioni server. Non è consigliabile usare trasformazioni di modelli di testo tranne in un singolo thread. Questo perché il motore di creazione di modelli di testo usa di nuovo un singolo AppDomain per tradurre, compilare ed eseguire modelli. Il codice tradotto non è progettato per essere thread-safe. Il motore è progettato per elaborare i file in modo seriale, perché si trovano in un progetto di Visual Studio in fase di progettazione.
Per le applicazioni in fase di esecuzione, è consigliabile usare modelli di testo pre-elaborati: vedere Run-Time Generazione di testo con modelli di testo T4.
Se l'applicazione usa un set di modelli fissi in fase di compilazione, è più facile usare modelli di testo pre-elaborati. È anche possibile usare questo approccio se l'applicazione verrà eseguita in un computer in cui Visual Studio non è installato. Per ulteriori informazioni, vedere Generazione di testo in fase di esecuzione con modelli di testo T4.
Eseguire un modello di testo nell'applicazione
Per eseguire un modello di testo, chiamare il metodo ProcessTemplate di Microsoft.VisualStudio.TextTemplating.Engine:
using Microsoft.VisualStudio.TextTemplating;
...
Engine engine = new Engine();
string output = engine.ProcessTemplate(templateString, host);
L'applicazione deve trovare e fornire il modello e deve gestire l'output.
host Nel parametro è necessario fornire una classe che implementa ITextTemplatingEngineHost. Questo viene richiamato dal motore.
L'host deve essere in grado di registrare gli errori, risolvere i riferimenti all'assembly e includere i file, fornire un dominio applicazione in cui il modello può essere eseguito e chiamare il processore appropriato per ogni direttiva.
Microsoft.VisualStudio.TextTemplating.Engine è definito in Microsoft.VisualStudio.TextTemplating.*.0.dlle ITextTemplatingEngineHost è definito in Microsoft.VisualStudio.TextTemplating.Interfaces.*.0.dll.
In questa sezione
Procedura dettagliata: creazione di un host modello di testo personalizzato illustra come creare un host modello di testo personalizzato che rende disponibile la funzionalità del modello di testo all'esterno di Visual Studio.
Reference
Contenuti correlati
- Il processo di trasformazione del modello di testo descrive il funzionamento della trasformazione del testo e le parti che è possibile personalizzare.
- Creare processori di direttive personalizzate per modelli di testo T4 offre una panoramica dei processori delle direttive dei modelli di testo.