为什么XmlDocument读取.config文件,但ConfigurationManager没有?

时间:2017-10-10 07:27:11

标签: c# .net

我试图利用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");

0 个答案:

没有答案