如何加载App.config文件?

问题描述:

我正在解析项目的App.config文件。该配置文件已从调用者项目加载。在被调用的项目中,我有类似的东西:如何加载App.config文件?

XmlDocument xmlDoc = new XmlDocument(); 
    xmlDoc.Load("app.config"); 
    // Some parsing... 

不幸的是,app.config文件位置不正确。显然,Load方法正在浏览调用者项目的〜/ bin/Release目录,但app.config文件位于〜目录中。

有什么办法可以正确加载这个App.config文件吗?

感谢

+0

这是一个表单项目吗?我猜这是... – Murph 2010-05-10 15:49:34

+0

为什么不从System.Configuration使用ConfigurationManager(你需要添加一个引用!),你就完成了 - 没有混乱的解析你自己..... – 2010-05-10 15:55:58

我不明白你为什么需要这样做。配置文件App.Config在构建时被复制到运行时目录并重命名为yourapplicationname.exe.config。可以使用ConfigurationManager类来访问该文件的内容。

+0

+1是的 - 只需使用ConfigurationManager! – 2010-05-10 15:51:53

加载配置信息正确的方法是在System.Configuration命名空间中使用的类型。不要自己解析它。对于许多类型,您还需要参考System.Configuration.dll

Visual Studio应该在构建时将名为app.config的文件复制到输出目录。它重命名为<assembly_name>.config,所以如果你的程序集是myapp.exe,那么配置文件将是myapp.exe.config。检查文件的属性设置为“生成操作:无,复制到输出目录:不复制”。 VS将其视为一种特殊情况。不要重写它。

+0

I没有使用ConfigurationManager,因为我没有找到如何解析我的app.config文件。我如何访问像:SelectNodes或GetNamedItem等..? – 2010-05-10 15:52:17

+0

我还没有找到一个很好的介绍性(即简单)的自定义部分和解析它们的例子 - 一旦你知道如何解决这个问题相当简单。必须添加到博客做清单:-) – Richard 2010-05-10 16:26:16

+0

谢谢理查! 仅供参考我在这里移动我的第二个问题:http://stackoverflow.com/questions/2804390/how-to-parse-app-config-using-configurationmanager – 2010-05-10 16:27:19