2010-12-30 19 views
1

Dies ist ein folgen von hier: Storing database settings outside app.configapp.config - wohin soll es gehen?

So kann ich weiß, es ist eine app.config zu haben, mit verschiedenen Abschnitten externalisiert, alle mit unterschiedlichen Werten. Aber sind sie wie die web.config-Dateien in asp.net-Projekten, wo Sie es einfach in den gleichen Ordner wie den Rest der Dateien kopieren können und es funktioniert, oder muss ich es irgendwo kompilieren.

Wird es auch nicht durch die Datei .exe.config überschrieben?

bearbeiten

Ok, so formulierte ich diese Frage schlecht ein wenig. Ich habe es aktualisiert.

+0

Ihre resultierende 'MyApp.exe.config' ** wird ** auf jedem Build neu erstellt - aber ** nicht ** Ihrer externalisierten Konfiguration (es sei denn, Sie tun etwas, um dies selbst zu erreichen, in Ihrem Build-Prozess) –

Antwort

7

WinForms oder Konsolenanwendungen haben nur eine Config - es app.config in Ihrem Projekt genannt wird, und wird zu YourApplication.exe.config von Visual Studio umbenannt werden, wenn die App zu bauen.

Winforms und Konsolenanwendungen weisen nicht die gleiche Art von "hierarchischer" Konfiguration auf wie Webanwendungen.

Sie können bestimmte Config-Abschnitte in separate Configs externalisieren, die mit dem Attribut configSource= zusammengeführt werden, das in jedem Konfigurationsabschnitt verfügbar ist, aber das ist ungefähr so ​​weit wie es geht.

Wenn Sie Ihr app.config Referenzierung andere externe config für bestimmte Konfigurationsabschnitte haben, dann MyApp.exe.config wird jedes Mal, wenn Sie kompilieren neu erstellt werden - aber die anderen externalisierte config wird allein gelassen werden (es sei denn, Sie ausdrücklich etwas tun, um sie zu überschreiben, Auch in Ihrem Build-Prozess).

Sie können natürlich auch zusätzliche Konfigurationsdateien programmatisch laden und parsen, aber das liegt ganz bei Ihnen und ist nicht Teil des grundlegenden .NET-Konfigurationssystems.

Sie sollten sich auch Jon Ristas dreiteilige Serie zur .NET 2.0-Konfiguration auf CodeProject ansehen.

Sehr empfehlenswert, gut geschrieben und sehr hilfreich!

+0

Can Ich habe eine app.config pro Umgebung? –

+0

@Piers: In Winforms: Nein, nicht wirklich. Sie müssen eine Konfiguration für jeden externen Konfigurationsabschnitt für jede Umgebung erstellen und dann nur auf diese von Ihrer einzigen app.config verweisen ... –

Verwandte Themen