Wir haben eine ziemlich große .NET-Lösung mit mehreren ausführbaren Projekten (Winforms und Befehlszeilenprogramme). Derzeit hat jedes dieser Projekte seine eigene app.config, die Verbindungszeichenfolgen, Mail-Server-Einstellungen und dergleichen enthält. Wie Sie sich vorstellen können, ist es nicht sehr bequem, in jeder app.config-Datei eine Änderung vorzunehmen, wenn eine bestimmte Einstellung aktualisiert werden muss.
Was ist Ihrer Meinung nach die beste Praxis für die zentrale Verwaltung dieser Einstellungen? Bisher habe ich über zwei verschiedene Ansätze nachgedacht. Der erste ist die Verwendung einer benutzerdefinierten Klasse (oder Klassen), die die Einstellungen enthält und in XML serialisiert und aus diesem deserialisiert wird. Der zweite Ansatz ist die Definition einer app.config-Datei nur für ein einzelnes Projekt und die Verwendung von ConfigurationManager.OpenExeConfiguration() für den Zugriff darauf.