Загрузка пользовательских файлов конфигурации
Я знаю, что могу открыть файлы конфигурации, которые связаны со сборкой со статическим ConfigurationManager.OpenExe(exePath)
метод, но я просто хочу открыть конфигурацию, которая не связана со сборкой. Просто стандартный файл конфигурации.NET.
3 ответа
Статьи , опубликованные Рики, очень хороши, но, к сожалению, они не отвечают на ваш вопрос.
Чтобы решить вашу проблему, вы должны попробовать этот кусок кода:
ExeConfigurationFileMap configMap = new ExeConfigurationFileMap();
configMap.ExeConfigFilename = @"d:\test\justAConfigFile.config.whateverYouLikeExtension";
Configuration config = ConfigurationManager.OpenMappedExeConfiguration(configMap, ConfigurationUserLevel.None);
Если вам нужно получить доступ к значению в конфигурации, вы можете использовать оператор индекса:
config.AppSettings.Settings["test"].Value;
Файл конфигурации - это просто файл XML, вы можете открыть его:
private static XmlDocument loadConfigDocument()
{
XmlDocument doc = null;
try
{
doc = new XmlDocument();
doc.Load(getConfigFilePath());
return doc;
}
catch (System.IO.FileNotFoundException e)
{
throw new Exception("No configuration file found.", e);
}
catch (Exception ex)
{
return null;
}
}
и позднее извлечение значений с помощью:
// retrieve appSettings node
XmlNode node = doc.SelectSingleNode("//appSettings");
Я хотел бы использовать ConfigurationManager.OpenMappedExeConfiguration - http://msdn.microsoft.com/en-us/library/system.configuration.configurationmanager.openmappedexeconfiguration(v=vs.110).aspx