Как получить местоположение файла user.config программным способом? - PullRequest
12 голосов
/ 27 января 2012

Я хотел бы отобразить местоположение файла user.config в моем приложении Windows Forms, чтобы пользователь мог легко найти его.

Я понимаю, как создается путь, благодаря: Могу ли я контролировать расположение пользовательских настроек .NET, чтобы избежать потери настроек при обновлении приложения? .

Однако в случае, если это изменится, я бы предпочел не указывать путь в моем приложении, особенно если есть простой способ получения местоположения файла user.config.

Ответы [ 3 ]

20 голосов
/ 27 января 2012

Попробуйте это:

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

MessageBox.Show(config.FilePath);
5 голосов
/ 03 сентября 2015

В зависимости от того, как работает ваше приложение, ConfigurationUserLevel.PerUserRoamingAndLocal может быть искомым свойством, а не ConfigurationUserLevel.PerUserRoaming;

, то есть:

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

Убедитесь, что система. Конфигурация в ссылках вашего проекта, чтобы использовать это.

1 голос
/ 27 января 2012

Используйте ConfigurationManager, чтобы получить Configuration -объект.Configuration -объект имеет строковое свойство FilePath.См .: Конфигурация-Члены

...