加载自定义configuration文件
我知道我可以用静态ConfigurationManager.OpenExe(exePath)
方法打开与程序集相关的configuration文件,但我只想打开一个与程序集无关的configuration。 只是一个标准的.NETconfiguration文件。
瑞奇发表的文章非常好,但不幸的是,他们没有回答你的问题。
要解决你的问题,你应该试试这段代码:
ExeConfigurationFileMap configMap = new ExeConfigurationFileMap(); configMap.ExeConfigFilename = @"d:\test\justAConfigFile.config.whateverYouLikeExtension"; Configuration config = ConfigurationManager.OpenMappedExeConfiguration(configMap, ConfigurationUserLevel.None);
configuration文件只是一个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