Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Процесс преобразования текстового шаблона принимает текстовый файл шаблона в качестве входных данных и создает текстовый файл в качестве выходных данных. Подсистему преобразования текста можно вызвать из расширения Visual Studio или из автономного приложения, работающего на компьютере, на котором установлена Visual Studio. Однако необходимо указать хост текстового шаблона. Этот класс подключает шаблон к среде, поиск ресурсов, таких как сборки и включение файлов, а также обработку выходных и сообщений об ошибках.
Подсказка
Если вы пишете пакет или расширение, которое будет выполняться в Visual Studio, рассмотрите возможность использования сервиса шаблонов текста вместо написания собственного хоста. Дополнительные сведения см. в разделе "Вызов преобразования текста" в расширении VS.
Замечание
Не рекомендуется использовать преобразования текстовых шаблонов в серверных приложениях. Не рекомендуется использовать преобразования текстовых шаблонов, кроме как в одном потоке выполнения. Это связано с тем, что модуль шаблонов текста повторно использует один домен appDomain для перевода, компиляции и выполнения шаблонов. Переведенный код не предназначен для потокобезопасности. Движок предназначен для последовательной обработки файлов, как это происходит в проекте Visual Studio на стадии проектирования.
Для приложений, работающих в реальном времени, рекомендуется использовать предварительно подготовленные текстовые шаблоны: см. Создание текста во время выполнения с помощью текстовых шаблонов T4.
Если приложение использует набор шаблонов, фиксированных во время компиляции, проще использовать предварительно обработанные текстовые шаблоны. Этот подход также можно использовать, если приложение будет работать на компьютере, на котором Visual Studio не установлен. Дополнительные сведения см. в разделе Run-Time генерация текста с помощью текстовых шаблонов T4.
Выполнение текстового шаблона в приложении
Чтобы выполнить текстовый шаблон, вызовите метод Microsoft.VisualStudio.TextTemplating.EngineProcessTemplate:
using Microsoft.VisualStudio.TextTemplating;
...
Engine engine = new Engine();
string output = engine.ProcessTemplate(templateString, host);
Приложение должно находить и предоставлять шаблон и иметь дело с выходными данными.
В параметре host необходимо указать класс, реализующий ITextTemplatingEngineHost. Это вызывается движком.
Хост должен иметь возможность регистрировать ошибки, разрешать ссылки на сборки и файлы включения, предоставлять домен приложения, в котором шаблон может выполняться, и вызывать соответствующий процессор для каждой директивы.
Microsoft.VisualStudio.TextTemplating.Engine определяется в Microsoft.VisualStudio.TextTemplating.*.0.dll, а ITextTemplatingEngineHost определяется в Microsoft.VisualStudio.TextTemplating.Interfaces.*.0.dll.
В этом разделе
Пошаговое руководство: Создание пользовательского хоста текстового шаблона показывает, как создать пользовательский хост текстового шаблона, который делает функциональность текстового шаблона доступной за пределами Visual Studio.
Reference
Связанный контент
- Процесс преобразования текстового шаблона описывает, как работает преобразование текста и какие части можно настроить.
- Создание пользовательских обработчиков директив шаблонов текста T4 содержит обзор процессоров директив текстовых шаблонов.