Fév 18

Logo Visual StudioDans un précédent article, nous avons abordé la question de la transformation du fichier App.Config, en fonction de l’environnement cible.
Or généralement, la cible par défaut, Debug est uniquement utilisée pour le développement et utilise donc une configuration particulière qui ne doit pas forcément être publiée.

Ainsi, sur tous mes projets, je créé les cibles Recette, Qualif, Production (et autres, en fonction du besoin), tout en conservant les cibles existantes Debug et Release. La première étant la configuration utilisée pour le développement, la seconde étant rarement utilisée.
Le problème est donc qu’il arrive occasionnellement de lancer une publication sans avoir changé l’environnement cible, ce qui provoque la copie de paramètres de configuration de débogage sur un environnement ne correspondant pas à cette configuration.

Afin d’éviter de publier accidentellement en configuration Debug, il suffit d’ajouter les lignes suivantes à la fin du fichier *.csproj de votre projet principal (à ouvrir avec un éditeur texte), juste avant la balise de clôture </project> :

<Target Name="BeforePublish">
	<Error Condition="'$(Configuration)'=='Debug'" Text="Ce projet ne doit pas être publié en DEBUG. Choisissez l'environnement cible approprié." />
	<Error Condition="'$(Configuration)'=='Release'" Text="Ce projet ne doit pas être publié en RELEASE. Choisissez l'environnement cible approprié." />
</Target>

Cette modification va interrompre la publication si la configuration actuellement sélectionnée est Debug ou Release (car je ne l’utilise pas) en affichant le message spécifié.

Leave a Reply