|
在眾多.NET應用下的代碼生成方案中,比如CodeDOM,BuildProvider, 我覺得T4是最好的一種。關于T4的基本概念和模板結果,可以參考我的文章《基于T4的代碼生成方式》。如果要了解T4具體的應用,則可以參考我的文章《創(chuàng)建代碼生成器可以很簡單:如何通過T4模板生成代碼?》(上篇)(下篇)。如果你編寫T4模板,你不得不面對一個問題——如何引用一個程序集?VS 2010采用了與VS2008不同的程序集引用的解析機制。本篇文章為你介紹在VS2010下5種不同的程序集引用的方式。
目錄
一、添加程序集引用解決不了問題
二、將引用程序集安裝到GAC
三、利用VS的PublicAssemblies目錄
四、指定程序集的具體路徑
五、采用環(huán)境變量
六、使用VS宏
一、添加程序集引用解決不了問題
如果你的T4模板需要調用一個自定義的類型,并且該類型定義在某個非系統(tǒng)程序集中,你就需要通過T4<#@ assembly…#>指令引用該程序集。在VS 2008環(huán)境下,你只需要為當前項目添加相應的程序集引用,并且通過<@ assembly…#>指令的name屬性指定程序集(Dll)的文件名即可。比如,下面的T4模板包含了對程序集Artech.T4AssemblyRefResovle.Foo.dll的引用。
<#@ template debug="false" hostspecific="false" language="C#" #>
<#@ assembly name="Artech.T4AssemblyRefResovle.Foo.dll" #>
<#@ output extension=".cs" #>
public class HelloWorld
{}
NET技術:解決T4模板的程序集引用的五種方案,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。