2017-02-10 21 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

因此,您需要準備第二個模板以準備好接收字符串參數。你有'部分'類,它是從* .tt生成的。您可以編寫該類的第二部分併爲此參數添加一個屬性。我可以看到的問題 - 您首先需要將RootPath傳遞到主模板中。可以通過會話或使用其他屬性。 – Murr

相關問題