2017-02-10 12 views
0
string templateText = File.ReadAllText(Host.ResolvePath("D:/TemplateGeneration/SchemaGeneration/GenerateTableSchema.tt"));  
Engine engine = new Engine(); 
string output = engine.ProcessTemplate(templateText, Host); 
string RootPath="D:/TemplateGeneration/TemplateGeneration/MainTemplate.tt"; 

私はテキストテンプレートを使用しています。このテンプレートによってトリガされた別のテンプレートにvaribale RootPathをパラメータとして渡したいとします。t4テンプレートから別のテンプレートに文字列パラメータを渡す方法

答えて

0

あなたの文字列をHost.Sessionに入れる必要があります。 セッションは辞書で、パラメータの名前とパラメータ値のペアを入れます。 その後、テンプレートに<#@ parameter ...#>を指定し、名前で使用します。名前は同じでなければなりません。

+0

ありがとうございますが、セッションで渡さないように頼まれました。文字列として渡す必要があります。 –

+0

したがって、2番目のテンプレートを準備して文字列パラメータを受け取る準備が必要です。 * .ttから生成された '部分的な'クラスがあります。クラスの2番目の部分を書き、このパラメータのプロパティを追加できます。私が見ることができる問題 - 最初にRootPathをメインテンプレートに渡す必要があります。セッションや追加のプロパティを使用することができます。 – Murr

関連する問題