2010-03-25 8 views
11

von Standardeinstellung bei gespeichert ändern: C:\Documents and Settings\\Local Settings\Application Data\<Project Name> , wie .NET Benutzereinstellungen Lage

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

Ich habe versucht, den Umfang der Einstellungen auf „Anwendung“ zu ändern, aber dann kann ich sie nicht zur Laufzeit ändern.

Antwort

13

Using the default built-in behavior you can't!

F: Warum ist der Weg so dunkel? Gibt es eine Möglichkeit, es zu ändern/anzupassen?

A: Der Wegebau Algorithmus hat bestimmte strenge Anforderungen an die Sicherheit gerecht zu werden, Isolation und Robustheit. Während wir versuchen, den Weg so leicht auffindbar wie möglich zu machen, indem sie den Einsatz von freundlichen, Anwendung Saiten geliefert, ist es nicht möglich ist, den Pfad ganz einfach, ohne lief in Fragen wie Kollisionen mit anderen Anwendungen zu halten, Spoofing usw.

Der LocalFileSettingsProvider gibt nicht eine Möglichkeit, die Dateien in zu ändern, welche Einstellungen gespeichert werden. Beachten Sie, dass der Anbieter selbst nicht die Konfigurationsdatei Standorte im ersten Ort nicht bestimmen - es ist die Konfiguration System. Wenn Sie die Einstellungen an einem anderen Ort für aus irgendeinem Grunde speichern müssen, ist der empfohlene Weg zu Ihre eigenen Settings schreiben. Diese ist ziemlich einfach zu implementieren und Sie können Proben in .NET 2.0 SDK , die zeigen, wie das geht zu tun. Denken Sie daran, jedoch, dass Sie in die gleichen Isolationsprobleme wie oben erwähnt auftreten können.

ich mit Robert Harvey Antwort zustimmen tun es sich, or write a custom settings provider.

+8

Das nervt nur Geck ... –

1

Sie können jederzeit Ihre eigenen XML configuration files lesen und schreiben.

+4

ja, aber ich würde es vorziehen, zu verwenden, bauen Mechanismus – mack369

0

Es gibt Schwierigkeiten mit programmatisch Einstellungen für alle Benutzer zu ändern (da sie von der exe.config Datei kommen, die in der Regel in Program Files und damit von dem Schreibzugriff in modernen Betriebssystemen geschützt). Sie können versuchen, die Einstellungen anwendungsweit vorzunehmen, aber dann die ConfigurationManager verwenden, um mit der Konfigurationsdatei zu verfahren, ähnlich wie bei der Lösung this question.