T4 アセンブリ ディレクティブ

更新 : 2011 年 3 月

Visual Studio のデザイン時テキスト テンプレートでは、テンプレート コードでアセンブリの型を使用できるように、assembly ディレクティブによってアセンブリが読み込まれます。 結果は、Visual Studio プロジェクトでアセンブリ参照を追加した場合と同様です。

テキスト テンプレートの作成方法の概要については、「T4 テキスト テンプレートの作成」を参照してください。

注意

実行時 (前処理された) テキスト テンプレートでは、assembly ディレクティブは不要です。 代わりに、必要なアセンブリを Visual Studio プロジェクトの [参照] に追加します。

assembly ディレクティブの使用

ディレクティブの構文は次のとおりです。

<#@ 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 テキスト テンプレートを使用した実行時テキスト生成」を参照してください。

標準アセンブリ

次のアセンブリは自動的に読み込まれるので、これらのアセンブリのアセンブリ ディレクティブを記述する必要はありません。

  • Microsoft.VisualStudio.TextTemplating.1*.dll

  • System.dll

  • WindowsBase.dll

カスタム ディレクティブを使用する場合は、ディレクティブ プロセッサによって追加のアセンブリが読み込まれます。 たとえば、ドメイン固有言語 (DSL) のテンプレートを作成した場合、次のアセンブリのアセンブリ ディレクティブを記述する必要はありません。

  • Microsoft.VisualStudio.Modeling.Sdk.1*.dll

  • Microsoft.VisualStudio.Modeling.Sdk.Diagrams.1*.dsl

  • Microsoft.VisualStudio.TextTemplating.Modeling.1*.dll

  • DSL を含むアセンブリ

参照

その他の技術情報

T4 インクルード ディレクティブ

履歴の変更

日付

履歴

理由

2011 年 3 月

親トピックから分離されました。

情報の拡充