T4-Assemblydirektive
In einer Visual Studio-Entwurfszeittextvorlage wird mit der assembly-Direktive eine Assembly geladen, damit im Vorlagencode die Typen der Vorlage verwendet werden können. Der Effekt ist mit dem Hinzufügen eines Assemblyverweises in einem Visual Studio-Projekt vergleichbar.
Eine allgemeine Übersicht über das Schreiben von Textvorlagen finden Sie unter Schreiben einer T4-Textvorlage.
Tipp
Die assembly-Direktive ist in einer Laufzeitvorlage (vorverarbeiteten Vorlage) nicht erforderlich. Fügen Sie den Verweisen des Visual Studio-Projekts stattdessen die notwendigen Assemblys hinzu.
Verwenden der Assemblydirektive
Die Syntax der Direktive lautet wie folgt:
<#@ assembly name="[assembly strong name|assembly file name]" #>
Folgende Optionen stehen zum Angeben des Assemblynamens zur Verfügung:
Der starke Name einer Assembly im GAC, z. B. System.Xml.dll. Sie können auch das lange Formular verwenden, z. B. name="System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089". Weitere Informationen finden Sie unter AssemblyName.
Absoluter Pfad der Assembly
Sie können mit der $(variableName)-Syntax auf Visual Studio oder MSBuild-Variablen wie $(SolutionDir) und %VariableName% verweisen, um auf Umgebungsvariablen zu verweisen. Beispiel:
<#@ assembly name="$(SolutionDir)\MyProject\bin\Debug\SomeLibrary.Dll" #>
Die assembly-Direktive hat in einer vorverarbeiteten Textvorlage keinerlei Auswirkungen. Schließen Sie stattdessen die notwendigen Verweise in den Abschnitt Verweise des Visual Studio-Projekts ein. Weitere Informationen finden Sie unter Generieren von Text zur Laufzeit mithilfe von vorverarbeiteten T4-Textvorlagen.
Standardassemblys
Die folgenden Assemblys werden automatisch geladen, damit Sie keine Assemblydirektiven dafür schreiben müssen:
Microsoft.VisualStudio.TextTemplating.1*.dll
System.dll
WindowsBase.dll
Wenn Sie eine benutzerdefinierte Direktive verwenden, lädt der Direktivenprozessor möglicherweise zusätzliche Assemblys. Wenn Sie z. B. Vorlagen für eine domänenspezifische Sprache (DSL) schreiben, müssen Sie keine Assemblydirektiven für die folgenden Assemblys schreiben:
Microsoft.VisualStudio.Modeling.Sdk.1*.dll
Microsoft.VisualStudio.Modeling.Sdk.Diagrams.1*.dsl
Microsoft.VisualStudio.TextTemplating.Modeling.1*.dll
Die Assembly mit der DSL.
Siehe auch
Weitere Ressourcen
Änderungsprotokoll
Datum |
Versionsgeschichte |
Grund |
---|---|---|
März 2011 |
Vom übergeordnetem Thema aufgeteilt. |
Informationsergänzung. |