Partager via


Spécifier des événements de génération personnalisés dans Visual Studio

Visual Studio vous permet de spécifier des commandes de build personnalisées à exécuter automatiquement avant le démarrage d’une build ou une fois qu’elle a terminé. Vous pouvez créer des commandes pour exécuter un fichier .bat avant le démarrage d’une build ou copier de nouveaux fichiers dans un dossier une fois la build terminée. Les événements de génération personnalisés s’exécutent uniquement lorsque la build atteint correctement le point approprié dans le processus de génération.

Cet article fournit une vue d’ensemble de la syntaxe recommandée pour les commandes de build personnalisées. Si vous recherchez des informations sur un langage de programmation spécifique, consultez Visual Basic, C# et F# et Visual C++.

Conseil / Astuce

Si vous souhaitez ajouter des opérations complexes à votre processus de génération, explorez les techniques de personnalisation MSBuild. Par exemple, vous pouvez ajouter des événements de génération pour générer des fichiers de code et gérer correctement le nettoyage après une clean opération ou exécuter uniquement la tâche lorsque les entrées sont obsolètes.

Syntaxe pour les commandes de build personnalisées

Les commandes de build suivent la même syntaxe que les commandes d’invite de commandes Windows et vous pouvez utiliser les propriétés MSBuild (également appelées macros) pour créer facilement les événements. Pour obtenir la liste des propriétés MSBuild disponibles, consultez les propriétés courantes du projet MSBuild. Vous pouvez également définir vos propres propriétés MSBuild dans le fichier projet.

Pour obtenir de meilleurs résultats, suivez ces conseils de mise en forme :

  • Ajoutez une call instruction avant tous les événements de génération qui exécutent .bat fichiers.

    Exemple : call C:\MyFile.bat

    Exemple : call C:\MyFile.bat call C:\MyFile2.bat

  • Placez les chemins d’accès des fichiers entre guillemets.

    Exemple : "%ProgramFiles(x86)%\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\gacutil.exe" -if "$(TargetPath)"

  • Séparez plusieurs commandes à l’aide de sauts de ligne.

  • Incluez des caractères génériques selon vos besoins.

    Exemple : for %I in (*.txt *.doc *.html) do copy %I c:\<Directory>\

    Note

    Pour un script de traitement par lots, remplacez la variable %I dans cet exemple %%Ipar .