T4 組件指示詞
在 Visual Studio 設計階段文字範本中,assembly 指示詞會載入組件,因此範本程式碼可以使用它的型別。這種效果類似在 Visual Studio 專案中加入組件參考。
如需撰寫文字範本的一般概觀,請參閱撰寫 T4 文字範本。
注意事項 |
---|
在執行階段 (前置處理過的) 文字範本中,不需要 assembly 指示詞。而是在 Visual Studio 專案的 [參考] 中加入所需的組件。 |
使用組件指示詞
指示詞的語法如下:
<#@ assembly name="[assembly strong name|assembly file name]" #>
組件名稱應該是下列其中一個:
GAC 中組件的強式名稱,例如 System.Xml.dll。您也可以使用完整格式,例如 name="System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"。如需詳細資訊,請參閱 AssemblyName。
組件的絕對路徑
$(variableName) 語法可用來參考 Visual Studio 或 MSBuild 變數 (例如 $(SolutionDir)),而 %VariableName% 可用來參考環境變數。例如:
<#@ assembly name="$(SolutionDir)\MyProject\bin\Debug\SomeLibrary.Dll" #>
assembly 指示詞在前置處理過的文字範本中無效。因此,請改在 Visual Studio 專案的 [參考] 區段中加入必要的參考。如需詳細資訊,請參閱使用 T4 文字範本在執行階段產生文字。
標準組件
下列組件會自動載入,因此您不需要為它們撰寫 assembly 指示詞:
Microsoft.VisualStudio.TextTemplating.1*.dll
System.dll
WindowsBase.dll
如果使用自訂指示詞,指示詞處理器可能會載入額外的組件。例如,如果為網域指定的語言 (DSL) 撰寫範本,就不需要為下列組件撰寫 assembly 指示詞:
Microsoft.VisualStudio.Modeling.Sdk.1*.dll
Microsoft.VisualStudio.Modeling.Sdk.Diagrams.1*.dsl
Microsoft.VisualStudio.TextTemplating.Modeling.1*.dll
包含 DSL 的組件。