2012-01-27 16 views
9

Chciałbym wyświetlić lokalizację pliku user.config w mojej aplikacji formularzy systemu Windows, aby użytkownik mógł ją łatwo znaleźć.Jak programowo uzyskać lokalizację pliku user.config?

Rozumiem, w jaki sposób ścieżka jest tworzona dzięki: Can I control the location of .NET user settings to avoid losing settings on application upgrade?.

Jednak w przypadku, gdy to się zmieni, wolałbym nie budować ścieżki w mojej aplikacji, zwłaszcza jeśli istnieje łatwa metoda uzyskania lokalizacji pliku user.config.

Odpowiedz

20

Spróbuj tego:

var config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoaming); 

MessageBox.Show(config.FilePath); 
+2

Dokładnie tego potrzebuję. Masz pojęcie, jaka jest prawdziwa różnica między ConfigurationUserLevel.PerUserRoamingAndLocal i ConfigurationUserLevel.PerUserRoaming? RoamindAndLocal wydaje się obejmować zarówno sytuacje? –

+0

Aby uzyskać lokalny obiekt konfiguracyjny, który ma zastosowanie do bieżącego użytkownika, ustaw parametr userLevel na wartość PerUserRoamingAndLocal. Aby uzyskać obiekt konfiguracji mobilnej, który ma zastosowanie do bieżącego użytkownika, należy ustawić userLevel na PerUserRoaming. –

1

Użyj obiektu ConfigurationManager, aby uzyskać obiekt o numerze Configuration. Obiekt Configuration ma właściwość string FilePath. Patrz: Configuration-Members

4

zależności od sposobu działa aplikacja, ConfigurationUserLevel.PerUserRoamingAndLocal może być własnością szukasz zamiast ConfigurationUserLevel.PerUserRoaming;

tj:

var config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal); 
MessageBox.Show(config.FilePath); 

Pamiętaj, aby mieć System.Configuration w odnośnikach swojego projektu w celu wykorzystania tego.

Powiązane problemy