Zpracování textových šablon pomocí vlastního hostitele
Proces transformace textové šablony přebírá jako vstup soubor textové šablony a jako výstup vytvoří textový soubor. Modul transformace textu můžete volat z rozšíření sady Visual Studio nebo ze samostatné aplikace běžící na počítači, na kterém je sada Visual Studio nainstalovaná. Musíte však zadat hostitele šablon textu. Tato třída připojuje šablonu k prostředí, vyhledává prostředky, jako jsou sestavení a vkládané soubory, a zpracovává výstup a chybové zprávy.
Tip
Pokud píšete balíček nebo rozšíření, které se spustí v sadě Visual Studio, zvažte použití služby šablon textu místo psaní vlastního hostitele. Další informace najdete v tématu Vyvolání transformace textu v rozšíření VS.
Poznámka:
Transformace textových šablon nedoporučujeme používat v serverových aplikacích. Transformace textových šablon nedoporučujeme používat jinak než v jednom vlákně. Stroj pro šablonování textu totiž používá k překladu, kompilaci a spouštění šablon jedinou doménu AppDomain. Přeložený kód není bezpečný pro přístup z více vláken. Modul je navržený tak, aby zpracovával soubory sériově, protože jsou v projektu sady Visual Studio v době návrhu.
U aplikací za běhu zvažte použití předzpracovaných textových šablon: viz Generování textu za běhu s textovými šablonami T4.
Pokud vaše aplikace používá sadu šablon, které jsou v době kompilace fixní, je jednodušší použít předzpracované textové šablony. Tento přístup můžete použít také v případě, že se vaše aplikace spustí na počítači, na kterém není nainstalovaná sada Visual Studio. Další informace najdete v tématu Generování textu za běhu pomocí textových šablon T4.
Spuštění textové šablony v aplikaci
Chcete-li spustit textovou šablonu, zavoláte ProcessTemplate metoda Microsoft.VisualStudio.TextTemplating.Engine:
using Microsoft.VisualStudio.TextTemplating;
...
Engine engine = new Engine();
string output = engine.ProcessTemplate(templateString, host);
Vaše aplikace musí najít a poskytnout šablonu a zpracovat výstup.
host
V parametru musíte zadat třídu, která implementuje ITextTemplatingEngineHost. Tuto třídu zpětně volá stroj.
Hostitel musí být schopen protokolovat chyby, překládat odkazy na sestavení a vkládané soubory, poskytovat doménu aplikace, ve které se šablona spouští, a volat odpovídající procesor pro jednotlivé direktivy.
Microsoft.VisualStudio.TextTemplating.Engine je definován v Microsoft.VisualStudio.TextTemplating .*.0.dll a ITextTemplatingEngineHost je definován v Microsoft.VisualStudio.TextTemplating.Interfaces.*.0.dll.
V této části
Návod: Vytvoření vlastního hostitele textových šablon vám ukáže, jak vytvořit vlastního hostitele textové šablony, který zpřístupňuje funkce textové šablony mimo Visual Studio.
Reference
Související obsah
- Proces transformace textové šablony popisuje, jak funguje transformace textu a které části můžete přizpůsobit.
- Vytváření vlastních procesorů direktiv textových šablon T4 poskytuje přehled procesorů direktiv textových šablon.