Comment puis-je limiter mes post-construire des événements à l'exécution que pour un type de build? Je suis en utilisant les événements de copier Dll à un répertoire virtuel IIS mais je ne veux pas ce qui se passe sur le serveur de build en mode release.
Réponses
Trop de publicités?Ajouter votre événement post-construction comme d'habitude. Puis enregistrez votre projet, de l'ouvrir dans le bloc-notes (ou votre éditeur de texte favori) et ajouter une condition à la PostBuildEvent groupe de la propriété. Voici un exemple:
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' "> <PostBuildEvent>lancer gpedit</PostBuildEvent> </PropertyGroup>
sinon (depuis les événements sont mis dans un fichier de commandes & appelait alors), utilisez la commande suivante. (dans l'événement de construction de la boîte, pas dans un fichier de commandes):
if $(ConfigurationName) == Debug goto :debug
:release
signtool.exe ....
xcopy ...
goto :exit
:debug
' debug items in here
:exit
De cette façon, vous pouvez avoir événements pour n'importe quelle configuration, et encore la gestion avec les macros plutôt que d'avoir à les transmettre dans un fichier de commandes et souvenez-vous que %1 $(OutputPath), etc:
Vous pouvez passer le nom de la configuration à la post-script de construction et de vérifier pour voir si il doit s'exécuter.
Passer le nom de la configuration avec $(ConfigurationName)
Vérifier qu'il est basé sur la façon dont vous la mise en œuvre de l'étape de post-construction -- ce sera un argument de ligne de commande