6
我使用T4 TextTemplating服務從VSPackage的:如何以編程方式添加程序集引用?
var t4 = this.GetService(typeof(STextTemplating)) as ITextTemplating;
一般來說,如果一個模板在外部程序引用類型,您可以使用assembly
指令。然而,我直到運行時才知道程序集,所以有沒有以程序方式向T4引擎添加程序集引用?
我使用T4 TextTemplating服務從VSPackage的:如何以編程方式添加程序集引用?
var t4 = this.GetService(typeof(STextTemplating)) as ITextTemplating;
一般來說,如果一個模板在外部程序引用類型,您可以使用assembly
指令。然而,我直到運行時才知道程序集,所以有沒有以程序方式向T4引擎添加程序集引用?
我認爲有以下可能是一個解決方案...
編寫自定義主機,看到http://msdn.microsoft.com/en-us/library/bb126519.aspx
在自定義的主機中運行的引擎之前,使用LoadFrom加載所需的組件,請參閱http://msdn.microsoft.com/en-us/library/1009fa28.aspx詳細信息。
難道你只是在運行時將彙編指令追加到輸入文本嗎? – McGarnagle
我很困惑。 T4模板在設計時執行,而不是運行時。所以如果你在設計時不知道你的裝配參考,你怎麼能期望T4知道它? –
在這種情況下,在TextTemplating服務上調用ProcessTemplate方法時,T4模板正在運行時處理。 – devdigital