2011-01-12 2 views
4

Wenn ich die Bibliothek kompiliere, sind alle Einstellungen in Settings.Settings in die DLL integriert. Wie verhindere ich das?Wie verhindere ich, dass app.config in eine .net-Bibliothek (dll) integriert wird

+0

Was versuchen Sie zu erreichen? Die Werte * default * sind in die DLL integriert, zur Laufzeit überprüft das Konfigurationssystem jedoch zuerst die Datei exename.config (oder die Pfade der Benutzereinstellungen) auf geänderte Werte. Was möchten Sie erreichen, indem Sie die Standardeinstellungen nicht in die DLL integrieren? –

+0

Mein Ziel ist es, in der Lage zu sein, die Einstellung nach der Kompilierung und Bereitstellung einfach durch Ändern der app.config zu ändern. Es gibt keine app.config, also gehe ich davon aus, dass es app.config am nächsten zur .exe (im selben Ordner) verwendet. Gibt es eine Möglichkeit, zwei app.configs zu verwenden. Wenn nicht, muss ich settings.settings nicht mehr verwenden? –

Antwort

3

Zeigen Sie die Eigenschaften der Datei Settings.settings an, und legen Sie die Erstellungsaktion für die Ressource fest und kopieren Sie sie in das Ausgabeverzeichnis, um sie nicht zu kopieren.

Dies sollte eine dll.config-Datei erstellen, in der Sie die Einstellungen außerhalb des Gebäudes bearbeiten können.

+0

Danke. Wenn meine Anwendung die DLL verwendet, verwendet die DLL die Einstellungen, die sich in der Datei dll.config befinden? –

+0

Die Zusammenstellung der Einstellungsdatei erstellt eine Designer.cs-Codedatei, die Sie in VS öffnen können und sehen, dass es Werte aus der XML-Konfigurationsdatei abruft. VS sollte dies synchronisieren und die Serialisierung auch für Sie übernehmen. – delimited

+0

@Eli - Nein. Sie müssen alle Ihre Einstellungen in die app.config der Anwendung verschieben. Die Einstellungen sind pro Anwendung, nicht pro Bibliothek. Die Leute schreiben oft ihre eigenen Konfigurationen wegen der Schwächen in 'System.Configuration'. –

0

Keine Einstellungen in Settings.Settings aufgeführt. Wenn Sie nicht möchten, dass sie in der DLL ausgeliefert werden, dann haben Sie sie nicht. Wenn Sie sie haben, dann müssen Sie sie für etwas brauchen, in welchem ​​Fall es keinen Sinn macht, sie nicht aufzunehmen.

0

Wenn Sie keine Werte verfügbar machen möchten, stellen Sie sicher, dass Sie über eine app.config mit Bereitstellungswerten verfügen (leer, 0 oder etwas). Die Werte werden als Standardwerte in die DLL kompiliert.

Verwandte Themen