Zpracování textových šablon pomocí vlastního hostitele
Proces transformace textové šablony vezme soubor textové šablony jako vstup a vytvoří textový soubor jako výstup.Stroj pro transformaci textu lze volat z rozšíření sady Visual Studio nebo ze samostatné aplikace spuštěné v počítači, ve kterém je sada Visual Studio nainstalována.Je však nutné zadat hostitele šablonování 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 vytváříte balíček nebo rozšíření, které poběží v rámci sady Visual Studio, uvažujte o tom, že místo psaní vlastního hostitele využijete tuto službu šablonování textu.Další informace naleznete v tématu Volání transformací 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.Tento stroj je určen k sériovému zpracování souborů v pořadí, v jakém jsou v sadě Visual Studio v době návrhu projektu.
Pro běhové aplikace zvažte použití předzpracovaných textových šablon, viz Generování textu za běhu pomocí textových šablon 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 rovněž použít, pokud vaše aplikace poběží v počítači, ve kterém není nainstalována sada Visual Studio.Další informace naleznete v tématu Generování textu za běhu pomocí textových šablon T4.
Spuštění textové šablony v aplikaci
Textová šablona se spouští voláním metody ProcessTemplate třídy 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.
V parametru host je nutné 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.
Engine je definováno v souboru Microsoft.VisualStudio.TextTemplating.*.0.dll a ITextTemplatingEngineHost je definováno v souboru Microsoft.VisualStudio.TextTemplating.Interfaces.*.0.dll.
V tomto oddílu
- Návod: Vytvoření vlastního hostitele textových šablon
Ukazuje, jak vytvořit vlastního hostitele textových šablon, který funkčnost textové šablony zpřístupňuje mimo Visual Studio.
Odkaz
Související oddíly
Proces transformace textových šablon
Popisuje, jak transformace textu fungují, a které části si můžete přizpůsobit.Vytváření vlastních procesorů pro direktivy textových šablon T4
Poskytuje přehled procesorů direktiv textových šablon.