Können wir mehrere App.Config-Dateien in der .NET-Konsolenanwendung haben?

8

Ich habe eine Konsolenanwendung mit App.Confile-Datei. Jetzt werden die umgebungsspezifischen Parameter hier beibehalten.

Jetzt denke ich, dass mehrere app.config-Dateien (wie app.dev.config, app.test.config und app.prod.config ) den Weg haben Wie können wir mehrere Web.Config-Dateien haben?

Im Falle einer Web-Anwendung können wir das handhaben, und ConfigurationManager würde die entsprechende Web.Config-Datei auswählen.

Im Falle einer Konsolenanwendung bin ich mir nicht sicher. Wenn ja, wie können wir mehrere app.config-Dateien haben?

Schätzen Sie Ihre Hilfe.

Danke

    
Rita 16.12.2010, 18:29
quelle

2 Antworten

8

AKTUALISIEREN

Mit Visual Studio 2010 und 2012 wurden Sie alle in die IDE integriert. Wenn Sie mit der rechten Maustaste auf Ihre Konfigurationsdatei klicken, können Sie mit VS eine Transformationskonfiguration für jede Ihrer Buildkonfigurationen erstellen. Wenn Sie für jede Ihrer Umgebungen eine Build-Konfiguration erstellen, generiert MSBuild automatisch die korrekte Datei Web.config / app.config für Sie.

Kurze Antwort , ja. Sie können die verschiedenen Dateien und in Ihrem Build-Skript haben, aber Sie müssen das richtige in "App.config" umbenennen und Sie sind festgelegt (vor dem Kompilieren).

Lange Antwort , was Sie verwenden sollten, ist das Enterprise Library MergeConfiguration-Tool. Auf diese Weise können Sie Ihre vorhandene App.config als Basis verwenden und Deltas pro Umgebung definieren. Das Tool wird die Basis und das Delta zusammenführen, um die umgebungsspezifischen Konfigurationsdateien zu generieren. Sie benötigen immer noch Logik in einem Build-Skript, um die richtige Konfigurationsdatei anzuwenden.

Wenn Sie die Enterprise-Bibliothek auf Ihrem Computer installieren, können Sie mit der rechten Maustaste auf die Konfigurationsdatei in Visual Studio klicken und sie über das Konfigurationstool bearbeiten. Sie können damit Ihre Umgebungen und die App-Einstellungen und Verbindungszeichenfolgen definieren, die pro Umgebung überschrieben werden sollen.

Ссылка

    
Babak Naffas 16.12.2010, 18:31
quelle
8

Um Babaks Antwort zu folgen, können Sie Teile Ihrer Konfiguration auch in andere Konfigurationsdateien unterteilen, indem Sie das Attribut configSource für jedes Element verwenden, das ein ConfigurationSection darstellt, z. B .:

%Vor%

Und in appSettings.config :

%Vor%     
Matthew Abbott 16.12.2010 18:40
quelle