Sdílet prostřednictvím


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

ITextTemplatingEngineHost