12 Stimmen

wie man den Speicherort der .NET-Benutzereinstellungen ändert

Standardmäßig werden die Einstellungen unter gespeichert: C:\Documents and Settings\\Local Settings\Application Data\<Project Name>

Wie kann ich diesen Pfad in das Anwendungsverzeichnis ändern? Ich möchte auch nicht verschiedene Dateien für verschiedene Benutzer haben. Wie kann ich die Einstellungen global vornehmen?

Ich habe versucht, den Geltungsbereich der Einstellungen auf "Anwendung" zu ändern, aber dann kann ich sie zur Laufzeit nicht mehr ändern.

13voto

ParmesanCodice Punkte 4992

Mit dem standardmäßig eingebauten Verhalten können Sie das nicht!

F: Warum ist der Pfad so undeutlich? Gibt es eine Möglichkeit, ihn zu ändern/anzupassen anpassen?

A: Der Pfadkonstruktionsalgorithmus muss bestimmte strenge Anforderungen erfüllen Anforderungen in Bezug auf Sicherheit, Isolierung und Robustheit erfüllen. Während wir versucht, den Pfad so leicht wie möglich wie möglich auffindbar zu machen, indem wir von freundlichen, von der Anwendung bereitgestellten Zeichenketten, aber es ist nicht möglich, den den Pfad völlig einfach zu halten, ohne ohne auf Probleme wie Kollisionen mit mit anderen Anwendungen, Spoofing usw.

Der LocalFileSettingsProvider kann nicht eine Möglichkeit, die Dateien zu ändern, in denen in denen die Einstellungen gespeichert sind. Beachten Sie, dass der Provider selbst nicht bestimmt die Speicherorte der Konfigurationsdateien bestimmt - es ist das Konfigurations System. Wenn Sie die Einstellungen aus irgendeinem Grund an einem anderen Ort einem anderen Ort speichern müssen, empfiehlt es sich, einen einen eigenen SettingsProvider zu schreiben. Dieser ist relativ einfach zu implementieren und Sie Sie können Beispiele im .NET 2.0 SDK finden finden, die zeigen, wie es geht. Beachten Sie dass Sie möglicherweise auf die gleichen Isolationsprobleme stoßen können, die oben erwähnt wurden.

Ich stimme Robert Harveys Antwort "Do it yourself" zu, oder schreiben Sie einen eigenen Einstellungsanbieter.

0voto

Robert Harvey Punkte 173098

Sie können jederzeit Ihre eigenen Texte lesen und schreiben XML-Konfigurationsdateien .

0voto

Pat Punkte 15797

Es ist schwierig, die Einstellungen für alle Benutzer programmatisch zu ändern (da sie aus der Datei exe.config stammen, die sich normalerweise in den Programmdateien befindet und daher in modernen Betriebssystemen vor Schreibzugriff geschützt ist). Sie können versuchen, die Einstellungen anwendungsweit zu machen, aber dann die ConfigurationManager um die Konfigurationsdatei zu verändern, ähnlich wie bei der Lösung für diese Frage .

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X