2009-08-17 9 views
1

Nous avons une solution VS2008 assez lourde qui comprend de nombreux projets de bibliothèque référencés par un ou plusieurs autres projets. Certaines de ces bibliothèques définissent des choses comme les liaisons WCF et les chaînes de connexion, mais lorsqu'elles sont référencées par d'autres projets, il semble nécessaire de copier les paramètres de liaison des fichiers .config des projets de bibliothèque dans les projets exécutables. Il semble que nous manquions quelque chose ici car cette approche a commencé à violer les principes DRY d'une manière importante avec des paramètres dupliqués jonchés dans toute la solution. Modification d'une liaison est devenue un exercice majeur dans la recherche & remplacer.Propagation des paramètres .config

J'ai regardé le this project on CodePlex comme une solution possible, mais je me demande si nous ne comprenons pas les principes derrière les fichiers app/web.config.

Y a-t-il un moyen plus facile?

Répondre

2

Pas vraiment non.

Dans des projets suffisamment volumineux, vous obtenez des paramètres qui doivent figurer dans plusieurs projets. Une solution que j'ai utilisée précédemment est d'avoir une tâche personnalisée exécutée sur post-build pour modifier les configurations pour définir une variable spécifique (par exemple '$ generalSettings') avec un tas sur des choses communes, à partir d'un fichier local I appelez 'local.deploy.properties'. J'utilise NAnt pour le faire.

Ces jours-ci, j'utilise une solution personnalisée que j'ai écrite pour le faire (même si elle combine l'approche ci-dessus de toute façon, en raison de la nécessité de tester localement).

Quoi qu'il en soit, ce que je veux dire, c'est qu'il s'agit d'un problème généralement non résolu.

1

Vous devez automatiser la propagation des paramètres pour que tout fonctionne correctement. Cela peut être fait en ajoutant une commande de copie par lots dans les actions de post-construction. Vous pouvez trouver ces paramètres dans le menu des propriétés du projet. Afin de personnaliser les paramètres copiés pour un projet spécifique, la transformation XSLT peut être utilisée.

Questions connexes