我正在解析项目的App.config文件。此配置文件已从调用者项目加载。在被调用的项目中,我有类似的东西:
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("app.config");
// Some parsing...
不幸的是,app.config文件找不到正确的位置。显然,Load方法正在浏览调用者项目的〜/ bin / Release目录,但app.config文件位于〜目录中。
有没有办法正确加载这个App.config文件?
由于
答案 0 :(得分:18)
我不明白为什么你需要这样做。配置文件App.Config
在构建时复制到运行时目录,并重命名为yourapplicationname.exe.config
。
您可以使用ConfigurationManager
类来访问该文件的内容。
答案 1 :(得分:1)
加载配置信息的正确方法是使用System.Configuration
命名空间中的类型。不要自己解析。对于许多类型,您还需要引用System.Configuration.dll
。
在构建时,Visual Studio应将名为app.config
的文件复制到输出目录。它将文件重命名为<assembly_name>.config
,因此如果汇编为myapp.exe
,则配置文件将为myapp.exe.config
。检查文件的属性是否设置为“Build Action:None,Copy to output directory:do not copy”。 VS将此视为一种特殊情况。不要覆盖它。