Как получить доступ к "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);