Sdílet prostřednictvím


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.dllITextTemplatingEngineHost je definováno v souboru Microsoft.VisualStudio.TextTemplating.Interfaces.*.0.dll.

V tomto oddílu

Odkaz

ITextTemplatingEngineHost

Související oddíly