J'ai une application dépendante de certains services web internes, et nous voulons donc que nos configurations de développement et de mise en scène pointent vers les serveurs de développement et de transfert pour les services web.Modifier le fichier de configuration basé sur les constantes de construction
À l'heure actuelle, cela signifie modifier manuellement mon fichier app.config pour qu'il pointe vers les URL appropriées. Ce n'est pas seulement un problème, mais sujettes à l'erreur humaine ("oups, n'ai-je pas supprimé cette URL de production?" Peut causer beaucoup-un-problème).
Dans une petite poignée d'endroits dans le code, j'utilise le
#if DEBUG
// do something
#endif
déclaration de pré-traitement, et je me demandais si quelque chose pouvait être fait similaire pour les valeurs du app.config. J'ai été capable de le faire très bien avec mes paramètres de l'application, car ces valeurs sont accessibles dans le code.
Je suis conscient des scripts post-construction, mais il semble qu'il pourrait y avoir un moyen plus simple que d'écrire une routine pour utiliser le fichier app.config XML chaque fois que je fais une build. Aucune suggestion?
Ceci est pour C# et .NET 3.5, et inclut à la fois les anciennes "références Web" ainsi que les nouvelles références "services Web" WCF.
+1 Très bien! Je cherchais quelque chose comme ça ... Cela rendra mes fichiers de configuration un peu plus laids, mais je préfère en avoir un vraiment moche que trois moyennement moche. (Note: Cela ne s'applique qu'aux fichiers de configuration, pas aux femmes). –