Générer des fichiers avec l’utilitaire TextTransform

TextTransform.exe est un outil en ligne de commande qui vous permet de transformer un modèle de texte. Quand vous appelez TextTransform.exe, vous spécifiez le nom d’un fichier de modèle texte en tant qu’argument. TextTransform.exe appelle le moteur de transformation de texte et traite le modèle de texte. TextTransform.exe est généralement appelé à partir de scripts. Cependant, cela n’est pas le passage obligé. Vous pouvez en effet effectuer une transformation de texte dans Visual Studio ou lors du processus de génération.

Notes

Si vous souhaitez effectuer une transformation de texte dans le cadre d’un processus de génération, envisagez d’utiliser la tâche de transformation de texte MSBuild. Pour plus d'informations, consultez Génération de code dans un processus de génération. Sur un ordinateur doté de Visual Studio, vous pouvez aussi écrire une application ou une extension Visual Studio capable de transformer des modèles de texte. Pour plus d’informations, consultez Traitement des modèles de texte à l’aide d’un hôte personnalisé.

TextTransform.exe se trouve dans le répertoire suivant :

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

pour Professional Edition ou

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

pour Enterprise Edition.

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

pour Professional Edition ou

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

pour Enterprise Edition.

Syntaxe

TextTransform [<options>] <templateName>

Paramètres

Argument Description
templateName Identifie le nom du fichier de modèle que vous voulez transformer.
Option Description
-out<filename> Fichier dans lequel le résultat de la transformation est écrit.
-r<assembly> Assembly utilisé pour compiler et exécuter le modèle de texte.
-u<namespace> Espace de noms utilisé pour compiler le modèle.
-I<includedirectory> Répertoire qui contient les modèles de texte inclus dans le modèle de texte spécifié.
-P<referencepath> Répertoire où rechercher les assemblys spécifiés dans le modèle de texte ou pour utiliser l’option -r.

Par exemple, pour inclure les assemblys utilisés pour l’API Visual Studio, utilisez

-P "%VSSHELLFOLDER%\Common7\IDE\PublicAssemblies"
-dp<processorName>!<className>!<assemblyName|codeBase> Nom, nom de type complet et assembly d’un processeur de directive qui peut être utilisé pour traiter des directives personnalisées dans le modèle de texte.
-a [processorName]![directiveName]!<parameterName>!<parameterValue> Spécifiez une valeur de paramètre pour un processeur de directive. Si vous spécifiez uniquement le nom et la valeur du paramètre, le paramètre est disponible pour tous les processeurs de directive. Si vous spécifiez un processeur de directive, le paramètre est disponible uniquement pour le processeur spécifié. Si vous spécifiez un nom de directive, le paramètre est disponible uniquement pendant le traitement de la directive spécifiée.

Pour accéder aux valeurs de paramètres à partir d’un processeur de directive ou d’un modèle de texte, utilisez ITextTemplatingEngineHost.ResolveParameterValue. Dans un modèle de texte, incluez hostspecific dans la directive de modèle et appelez le message sur this.Host. Par exemple :

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

Tapez toujours les marques « ! », même si vous omettez les noms de processeur et de directive facultatifs. Par exemple :

-a !!param!value
-h Fournit de l’aide.