Générer des fichiers avec l’utilitaire TextTransformGenerate files with the TextTransform utility

TextTransform.exe est un outil de ligne de commande que vous pouvez utiliser pour transformer un modèle de texte.TextTransform.exe is a command-line tool that you can use to transform a text template. Lorsque vous appelez TextTransform.exe, vous spécifiez le nom d’un fichier de modèle de texte en tant qu’argument.When you call TextTransform.exe, you specify the name of a text template file as an argument. TextTransform.exe appelle le moteur de transformation de texte et traite le modèle de texte.TextTransform.exe calls the text transformation engine and processes the text template. TextTransform.exe est généralement appelée à partir de scripts.TextTransform.exe is usually called from scripts. Toutefois, il n’est pas généralement requis, car vous pouvez effectuer une transformation de texte dans Visual Studio ou dans le processus de génération.However, it is not usually required, because you can perform text transformation either in Visual Studio or in the build process.

Note

Si vous souhaitez effectuer une transformation de texte dans le cadre du processus de génération, envisagez d’utiliser la tâche de transformation de texte de MSBuild.If you want to perform text transformation as part of a build process, consider using the MSBuild text transformation task. Pour plus d’informations, consultez génération de Code dans un processus de génération.For more information, see Code Generation in a Build Process. Dans un ordinateur sur lequel Visual StudioVisual Studio est installé, vous pouvez également écrire une application ou Visual StudioVisual Studio Extension qui peut transformer des modèles de texte.In a machine on which Visual StudioVisual Studio is installed, you can also write an application or Visual StudioVisual Studio Extension that can transform text templates. Pour plus d’informations, consultez le traitement des modèles de texte à l’aide d’un hôte personnalisé.For more information, see Processing Text Templates by using a Custom Host.

TextTransform.exe se trouve dans le répertoire suivant :TextTransform.exe is located in the following directory:

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

pour l’édition Professional, oufor the Professional edition, or

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

pour l’édition Enterprise.for the Enterprise edition.

Dans les versions précédentes de Visual Studio, le fichier se trouve à l’emplacement suivant :In previous versions of Visual Studio, the file is found in the following location:

\Program fichiers (x86) \Common Files\Microsoft Shared\TextTemplating{version}\Program Files (x86)\Common Files\Microsoft Shared\TextTemplating{version}

où {version} dépend de la version précédente est installée.where {version} depends on which previous version is installed.

SyntaxeSyntax

TextTransform [<options>] <templateName>

ParamètresParameters

ArgumentArgument DescriptionDescription
templateName Identifie le nom du fichier de modèle que vous souhaitez transformer.Identifies the name of the template file that you want to transform.
OptionOption DescriptionDescription
-out <nom de fichier >-out <filename> Le fichier dans lequel la sortie de la transformation est écrite.The file to which the output of the transform is written.
-r <assembly>-r <assembly> Un assembly utilisé pour la compilation et l’exécution du modèle de texte.An assembly used for compiling and running the text template.
-u <espace de noms >-u <namespace> Un espace de noms qui est utilisée pour compiler le modèle.A namespace that is used for compiling the template.
-I <includedirectory >-I <includedirectory> Un répertoire qui contient les modèles de texte inclus dans le modèle de texte spécifié.A directory that contains the text templates included in the specified text template.
P - <referencepath >-P <referencepath> Un répertoire pour rechercher des assemblys spécifié dans le modèle de texte ou à l’aide de la - r option.A directory to search for assemblies specified within the text template or for using the -r option.

Par exemple, pour inclure les assemblys utilisés pour l’API Visual Studio, utilisez :For example, to include assemblies used for the Visual Studio API, use

-P "%VSSHELLFOLDER%\Common7\IDE\PublicAssemblies"
-dp <processorName>!<className>!<assemblyName|codeBase>-dp <processorName>!<className>!<assemblyName|codeBase> Nom, nom de type complet et assembly d’un processeur de directive peut être utilisé pour traiter des directives personnalisées dans le modèle de texte.The name, full type name, and assembly of a directive processor that can be used to process custom directives within the text template.
-un [processorName] ! [directiveName] ! <nom_paramètre > ! <parameterValue >-a [processorName]![directiveName]!<parameterName>!<parameterValue> Spécifiez une valeur de paramètre pour un processeur de directive.Specify a parameter value for a directive processor. Si vous spécifiez simplement le nom de paramètre et la valeur, le paramètre sera disponible pour tous les processeurs de directive.If you specify just the parameter name and value, the parameter will be available to all directive processors. Si vous spécifiez un processeur de directive, le paramètre est disponible uniquement pour le processeur est spécifié.If you specify a directive processor, the parameter is available only to the specified processor. Si vous spécifiez un nom de directive, le paramètre est disponible uniquement lorsque la directive spécifiée est en cours de traitement.If you specify a directive name, the parameter is available only when the specified directive is being processed.

Pour accéder aux valeurs de paramètre à partir d’un processeur de directive ou d’un modèle de texte, utilisez ITextTemplatingEngineHost.ResolveParameterValue.To access the parameter values from a directive processor or text template, use ITextTemplatingEngineHost.ResolveParameterValue. Dans un modèle de texte, incluez hostspecific dans la directive de modèle et d’appeler le message sur this.Host.In a text template, include hostspecific in the template directive and invoke the message on this.Host. Par exemple :For example:

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

Entrez toujours le ' !' marque, même si vous omettez le processeur et les noms de directive.Always type the '!' marks, even if you omit the optional processor and directive names. Par exemple :For example:

-a !!param!value
-h-h Fournit une aide.Provides help.
TâcheTask RubriqueTopic
Générer des fichiers dans une solution Visual StudioVisual Studio.Generate files in a Visual StudioVisual Studio solution. Génération de code au moment du design à l’aide de modèles de texte T4Design-Time Code Generation by using T4 Text Templates
Écrire des processeurs de directive pour transformer vos propres sources de données.Write directive processors to transform your own data sources. Personnalisation d’une transformation de texte T4Customizing T4 Text Transformation
Écrivez un hôte de création de modèles de texte qui vous permet d’appeler des modèles de texte à partir de votre propre application.Write a text templating host that allows you to invoke text templates from your own application. Traitement des modèles de texte à l’aide d’un hôte personnaliséProcessing Text Templates by using a Custom Host