Angenommen, ich habe zwei Projekte, wobei Projekt A auf Projekt B verweist. Projekt A ist ein Webanwendungsprojekt und Projekt B ist eine Klassenbibliothek.
Die Klassenbibliothek enthält eine app.config-Datei, in der einige Einstellungen gespeichert sind. Wenn ich Projekt A kompiliere, wird projectB.dll im bin-Ordner erstellt.
Was passiert mit dem Inhalt der app.config-Datei, wenn die Webanwendung bereitgestellt wird? Sind die Einstellungen in ProjectB.dll kompiliert?
Ist es möglich, den Inhalt der app.config mit einem Werkzeug wie Reflector oder ILSpy abzurufen?
Sie können ein app.config
zu einem Bibliotheksprojekt hinzufügen, aber es wird nicht verwendet oder in einer der Ausgaben enthalten.
Die Konfiguration soll in der Anwendung erfolgen - nicht in der Bibliothek. Daher müssen Sie die fragliche Konfiguration in web.config Ihrer Webanwendung und nicht in der app.config einer Bibliothek ablegen.
App.config ist eine Konfiguration, keine Anwendung - daher wird sie nicht in der DLL gespeichert und kann nicht durch Reflektoren angezeigt oder dekompiliert werden.
Sie müssen Projekt B mit Einstellungen für Projekt A konfigurieren (in web.config wie in der Web-App).
Es gibt keinen Mechanismus, automatisch externe Module zu konfigurieren, es sei denn, sie haben Standard-Fallback-Werte codiert.
Zur Laufzeit verwendet Ihr Projekt B die Einstellungen Ihres Webanwendungsprojekts (des Hosts). Daher müssten Sie Ihre Einstellungen in der Datei web.config erneut übernehmen.
App.config Ihrer Klassenbibliothek B wird irrelevant. Wenn Sie Daten von dort verwenden möchten, sollten Sie alle Daten in app.config Ihrer übergeordneten Anwendung (in Ihrem Fall web.config) kopieren. Sie können dann mit ConfigurationManager aus den Projekten A und B darauf zugreifen.
Tags und Links .net app-config