Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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 host pro textové šablony. Tato třída připojuje šablonu k prostředí, vyhledává prostředky, jako jsou sestavení a zahrnovací soubory, a zpracovává výstupy a chybové zprávy.
Návod
Pokud píšete balíček nebo rozšíření, které se má spustit ve Visual Studio, zvažte použití služby generování textu namísto vytváření vlastního hostitele. Další informace najdete v tématu Vyvolání transformace textu v rozšíření VS.
Poznámka:
V serverových aplikacích nedoporučujeme používat transformace textových šablon. Nedoporučujeme používat transformace textových šablon s výjimkou jednoho vlákna. Důvodem je to, že textový modul šablony znovu používá jednu doménu AppDomain k překladu, kompilaci a spouštění šablon. Přeložený kód není navržený jako vláknově bezpečný. Motor je navržený tak, aby zpracovával soubory sériově, jako jsou v projektu sady Visual Studio během návrhu.
U aplikací za běhu zvažte použití předzpracovaných textových šablon: viz Run-Time Generování textu pomocí textových šablon T4.
Pokud vaše aplikace používá sadu šablon, které jsou opraveny v době kompilace, 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 naleznete v části Generování textu za běhu pomocí šablon T4.
Provedení textové šablony v aplikaci
Chcete-li spustit textovou šablonu, zavoláte metodu ProcessTemplate z Microsoft.VisualStudio.TextTemplating.Engine:
using Microsoft.VisualStudio.TextTemplating;
...
Engine engine = new Engine();
string output = engine.ProcessTemplate(templateString, host);
Aplikace musí najít šablonu a poskytnout ji a musí se zabývat výstupem.
host V parametru musíte zadat třídu, která implementuje ITextTemplatingEngineHost. Toto volá zpět engine.
Hostitel musí být schopný protokolovat chyby, vyřešit odkazy na sestavení a zahrnutí souborů, poskytnout doménu aplikace, ve které může být šablona vykonána, a volat příslušný procesor pro každý příkaz.
Microsoft.VisualStudio.TextTemplating.Engine je definováno v Microsoft.VisualStudio.TextTemplating.*.0.dll a ITextTemplatingEngineHost je definováno 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.
Odkazy
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.