Директива Assembly T4
В текстовом шаблоне времени проектирования Visual Studio директива assembly загружает сборку, чтобы в коде шаблона можно было использовать ее типы.Это дает эффект, аналогичный добавлению ссылки на сборку в проекте Visual Studio.
Общие сведения о создании текстовых шаблонов см. в разделе Написание текстового шаблона T4.
![]() |
---|
В текстовом шаблоне времени выполнения (предварительно обработанном) директива assembly не требуется.Вместо этого требуется добавить нужные сборки в раздел Ссылки проекта Visual Studio. |
Использование директивы Assembly
Синтаксис директивы таков:
<#@ assembly name="[assembly strong name|assembly file name]" #>
Имя сборки должно быть одним из следующих:
Строгое имя сборки в глобальном кэше сборок, такое как 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
Сборка, содержащая доменный язык.