Die Datei "app.config" in einen benutzerdefinierten Pfad verschieben
Ist es möglich, verlagern Sie die ganze App.Config-Datei in einem benutzerdefinierten Pfad?
Scheint es ein wenig seltsam, dass die config-Datei befindet sich im selben Ordner wie die exe-Datei, die mit Windows' neue approcah speichern aller Programm-Einstellungen in c:\ProgramData und alle.
Zusätzliche Anforderung die wir haben, ist ein Programm angeben, wo zu finden die app.config-Datei. Der Grund dafür ist, dass wir spawnen mit verschiedenen service-Instanzen aus der gleichen EXE-Dateien, und möchte die Speicherung der einzelnen service-app.config in das service-Einstellungen-Ordner unter c:\ProgramData\\.
Kommentar zu dem Problem
das Standard-Verhalten ist das ein Programm 1 default-config-Datei in einem eigenen Direktor und jeder Benutzer hat seine eigenen config-Datei gespeichert, die in Ihren Benutzer-Bereich, bu default-Einstellungen für Benutzer festgelegt werden gezogen von dem Benutzer config, wenn nicht vorhanden, dann wird es die Programme nutzen config
InformationsquelleAutor der Frage Ries | 2009-12-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Jeder AppDomain hat/haben kann seine eigene Konfigurationsdatei. Der Standard-AppDomain erstellt von CLR-host verwendet, Programmname.exe.- Konfiguration; wenn Sie möchten, um Ihre eigene Konfigurationsdatei, erstellen Sie separate AppDomain. Beispiel:
Hoffe, das hilft.
InformationsquelleAutor der Antwort mYsZa
Falls das noch relevant ist, haben wir die folgenden fand ich auf eine andere vorgeschlagene Antwort auf eine andere Frage hier auf Stack Overflow...
Gearbeitet hat ideal für uns, wenn wir Probleme hatten das laden der app.config von DLL nur...
InformationsquelleAutor der Antwort newby
Dieser arbeitete für mich.. (entnommen aus http://msdn.microsoft.com/en-us/library/system.configuration.appsettingssection.aspx)
Dann, wenn Sie anrufen
oder jeden Vorgang zum abrufen der app-config, der neue Pfad verwendet wird.
Hoffe, dass dies helfen könnte, jemand anderes hat dasselbe problem!
InformationsquelleAutor der Antwort namford
Ich weiß, das ist eine alte Frage, aber für diejenigen, die nur wollen Ihre app.config in einem anderen Ort dann Ihre binären Ausgang Speicherort erstellen, der folgende funktioniert, wie microsoft es vorgesehen (und daher keine Notwendigkeit neu zu Lesen und neu-schreiben der Datei auf der Festplatte)
Zur Laufzeit die Einstellungen aus der Konfigurationsdatei überschreiben die Einstellungen in der app.config (falls vorhanden). Und Sie sind fertig.
Beispiel-app.config
Hinweis: die Datei="..\Config\settings.config". Sie sind völlig frei definieren den Pfad zu dem Speicherort, wo Sie möchten, dass Ihre Benutzer-Einstellungen ändern.
Beispiel für die eigentliche Konfigurationsdatei
Zur Laufzeit die Einstellung
port
haben den Wert 1234.Weitere Infos finden Sie unter msdn
InformationsquelleAutor der Antwort bas
Dies ist eine alte Frage, aber ich lief in das gleiche problem und kam mit einem hacky-workaround aus ein paar Minuten Reflektor:
Ich habe es nur verwendet auf .NET2, aber es sieht das gleiche in 4 im Reflektor. Natürlich würde ich nicht empfehlen den Versand 😛 ich nur benutze es für die schnelle interne Dinge.
InformationsquelleAutor der Antwort wrmsr
Tut mir Leid, wenn ich missverstanden Ihre Anfrage aber kann Sie nicht verwenden
ConfigurationManager.OpenExeConfiguration-Methode (String)
Basierend auf der änderung, ist es möglich, dass Sie verwenden können,
AppDomainSetup.ConfigurationFile-Eigenschaft
InformationsquelleAutor der Antwort Adriaan Stander
Könnten Sie astander Ansatzes der Aufruf
OpenExeConfiguration
. Wenn Sie buchstäblich umziehen wollen Ihre config-Datei haben, müssen Sie erstellen Sie Ihre eigenen app-Domäne. In den Prozess der Einrichtung Ihrer app-Domäne bekommen Sie die chance, um anzugeben, wo sich die config Datei befindet.BTW .NET config-Dateien sind nicht gut für Konfiguration, zumindest nicht von der Sorte, die die Benutzer ändern können: Sie sind nicht wie INI-Dateien oder der registry. Wenn Sie möchten, Flexibilität, wo die Konfiguration kommt von du bist besser dran, lagern Sie ihn separat.
InformationsquelleAutor der Antwort Tim Robinson
MSDN wahrscheinlich helfen würde...
InformationsquelleAutor der Antwort KMån