我试图利用ConfigurationManager读取配置文件,但它似乎返回,但数据不是.config文件中的数据(特别是ConfigurationManger报告没有applicationSettings或appSettings并且确实有connectionString值;虽然配置文件本身有appSettings而没有connectionString)我已经尝试过OpenExeConfiguration和OpenMappedExeConfiguration方法。
如果我将XmlDocument用于同一个配置文件,虽然我可以看到正确的节点和appSettings。
我只使用通过控制台应用程序创建设置生成的基本.config文件。
看起来ConfigurationManager似乎没有从提供的配置文件中读取数据。配置管理器中提供的连接字符串是"数据源=。\ SQLEXPRESS;集成安全性= SSPI; AttachDBFilename = | DataDirectory | aspnetdb.mdf;用户实例= true"这似乎是通用的,不在任何代码或.config文件中
Configuration Manager代码
var configurationManager = ConfigurationManager.OpenExeConfiguration(@"D:\temp\my.config");
我还试过以下内容来处理.config的添加;奇怪的是,如果我只使用" D:\ temp \ my"有关无效的消息会出错。
var configurationManager = ConfigurationManager.OpenExeConfiguration(@"D:\temp\my.config.config");
带映射的配置管理器
ExeConfigurationFileMap map = new ExeConfigurationFileMap { ExeConfigFilename = @"D:\temp\my.config" };
Configuration config = ConfigurationManager.OpenMappedExeConfiguration(map, ConfigurationUserLevel.None);
Xml代码
XmlDocument configurationDocument = new XmlDocument();
configurationDocument.Load(@"D:\temp\my.config");