Как получить доступ к "user.config" другого приложения

Файл user.config приложения может быть доступен в C# с помощью ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal).FilePath

Теперь мне нужно получить user.config приложения DIFFERNT, идентифицируемый полным путем к его exe-файлу, чтобы заменить текущее приложение user.config этим.

Любые предложения, как это сделать?

Изменить: Обратите внимание, что меня интересует user.config (ConfigurationUserLevel.PerUserRoamingAndLocal), а не настройки уровня приложения, такие как app.config или Application.exe.config. Последний доступен по OpenExeConfiguration (строка), но это не то, что я хочу.

1 ответ

Как насчет перегрузки, которая исключаетstring?

var config = ConfigurationManager.OpenExeConfiguration(pathToAssebmly);

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

РЕДАКТИРОВАТЬ: Поскольку вы заинтересованы в пользовательской настройке, вы можете использовать следующее, которое взято отсюда:

string configFile =  string.Concat(appName, ".config");  
// Map the new configuration file.
ExeConfigurationFileMap configFileMap = new ExeConfigurationFileMap 
{ 
    ExeConfigFilename = configFile 
};

var config = ConfigurationManager.OpenMappedExeConfiguration(
        configFileMap, 
        ConfigurationUserLevel.PerUserRoamingAndLocal);
Другие вопросы по тегам