2010-12-21 9 views
3

Ich habe eine winforms App, die eine app.config hat.Wo setzt mono app.config

Wenn die Konfigurationsdatei nicht vorhanden ist, wird sie automatisch generiert. Es wird jedoch nicht in dem Verzeichnis generiert, von dem die App ausgeführt wird. Ich kann es nirgends finden.

Ich weiß, dass es erzeugt wird, weil meine Einstellung wie erwartet beibehalten wird.

Also wo hat Mono es gesetzt.

(läuft auf ubuntu 10.04) mono 2.4.

Es scheint, dass unter Windows eine gelöschte .config-Datei nicht neu generiert wird (ich bekomme einen Fehler), bis ich eine Neuerstellung mache, aber auf mono fährt sie glücklich fort, meine Einstellungen zu speichern, nachdem ich die Konfigurationsdatei gelöscht habe.

+0

Welchen Code verwenden Sie zum Generieren der Konfigurationsdatei? – cdhowie

+0

tatsächlich in winforms es generiert es für Sie, wenn es nicht pressent – trampster

Antwort

3

Unter Linux hat der Benutzer meist keinen Schreibzugriff auf den Speicherort der Binärdatei.

Ich würde es irgendwo in Ihrem Home-Verzeichnis suchen, wahrscheinlich in ~/.config.

0

Überprüfen Sie das Ausgabeverzeichnis - standardmäßig wird die Anwendungskonfigurationsdatei im selben Verzeichnis wie die Assembly ausgegeben.

+0

Ja, es wurde generiert, wenn ich den Build (in Visual Studio) dann kopierte ich die Assemblys auf Ubuntu und löschte die app.config, dann lief die Anwendung, es generiert a neue Konfigurationsdatei und speicherte meine Einstellungen, aber ich weiß nicht wohin. – trampster

0

Ich vermute, dass Sie relativen Pfad verwenden, um das Vorhandensein der Konfigurationsdatei zu bestimmen. Dann unter Linux ist der Prozess, der Ihren Code ausführt, mono.exe, und er kann sich in einem völlig anderen Ordner als Ihre Binärdateien befinden, und die Konfigurationsdatei kann an eine unbekannte Position geschrieben werden.

Außerdem ist Ihre Beschreibung des Problems wirklich mehrdeutig. Das nächste Mal können Sie Schritt für Schritt Wege und trennen, was passiert in Windows von was passiert auf Linux.