Поделиться через


Создание файлов с помощью служебной программы TextTransform

TextTransform.exe — это средство командной строки, которое можно использовать для преобразования текстового шаблона. При вызове TextTransform.exe в качестве аргумента укажите имя текстового файла шаблона. TextTransform.exe вызывает обработчик преобразования текста и обрабатывает текстовый шаблон. TextTransform.exe обычно вызывается из скриптов. Однако обычно это не обязательно, так как можно выполнять преобразование текста в Visual Studio или в процессе сборки.

Примечание.

Если вы хотите выполнить преобразование текста в процессе сборки, рассмотрите возможность использования задачи преобразования текста MSBuild. Дополнительные сведения см. в разделе "Создание кода" в процессе сборки. На компьютере, на котором установлена Visual Studio, можно также написать приложение или расширение Visual Studio, которое может преобразовывать текстовые шаблоны. Дополнительные сведения см. в разделе "Обработка текстовых шаблонов" с помощью пользовательского узла.

TextTransform.exe находится в следующем каталоге:

\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE

для профессиональных выпусков или

\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE

для выпуска Enterprise.

\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE

для профессиональных выпусков или

\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\IDE

для выпуска Enterprise.

Синтаксис

TextTransform [<options>] <templateName>

Параметры

Argument Description
templateName Определяет имя файла шаблона, который требуется преобразовать.
Параметр Description
-out<filename> Файл, в который записываются выходные данные преобразования.
-r<assembly> Сборка, используемая для компиляции и запуска текстового шаблона.
Пространство имен -u<> Пространство имен, используемое для компиляции шаблона.
-I<includedirectory> Каталог, содержащий текстовые шаблоны, включенные в указанный текстовый шаблон.
-P<referencepath> Каталог для поиска сборок, указанных в текстовом шаблоне или для использования параметра -r .

Например, чтобы включить сборки, используемые для API Visual Studio, используйте

-P "%VSSHELLFOLDER%\Common7\IDE\PublicAssemblies"
-dp<processorName>!<className>!<assemblyName|codeBase> Имя, полное имя типа и сборка обработчика директив, которые можно использовать для обработки пользовательских директив в текстовом шаблоне.
-a [processorName]![ directiveName]!<parameterName>!<parameterValue> Укажите значение параметра для обработчика директив. Если указать только имя и значение параметра, параметр будет доступен для всех процессоров директив. Если указать обработчик директив, параметр доступен только указанному обработчику. Если указать имя директивы, параметр доступен только при обработке указанной директивы.

Чтобы получить доступ к значениям параметров из обработчика директив или текстового шаблона, используйте ITextTemplatingEngineHost.ResolveParameterValue. В текстовом шаблоне включите hostspecific в директиву шаблона и вызовите сообщение this.Host. Например:

<#@template language="c#" hostspecific="true"#> [<#= this.Host.ResolveParameterValue("", "", "parameterName") #>].

Всегда введите метки '!', даже если не указано необязательное имя процессора и директив. Например:

-a !!param!value
-h Предоставляет справку.