2012-01-12 83 views
0

我在解决方案路径中创建了一个XML文件。我的解决方案有多个项目(其中一个是服务),现在有些项目需要参考的XML文件部署XML文件并加载它

  1. 当我尝试使用

    XDocument configXML = new XDocument.Load("Config.xml"); 
    

我得到错误

Cannot find symbol 'Load'

我使用System.Xml.Linq的

  1. 因为我无法得到解决的问题1,我想

    XElement rootElement = XElement.Load("Config.xml"); 
    

这个工作,但是当我运行该程序,我得到一个错误:

Unable to find the xml file

,因为它正在../Release文件夹中搜索,我可以将XML文件复制到发布/调试/部署文件夹?

需要一些帮助!

+6

你甲肝时间Release文件夹e'new XDocument.Load(...'不应该只是'XDocument.Load(...'? – Nick 2012-01-12 13:25:40

+0

检查Config.xml的路径 – 2012-01-12 13:27:59

+0

文件最初位于何处? – abatishchev 2012-01-12 13:28:12

回答

2

Load是一个静态方法,你不需要一个实例:

XDocument configXML = XDocument.Load("Config.xml"); 

如果你想Config.xml文件将被自动复制到输出目录,你可以在Solution Explorer中选择它,其设置复制到输出目录属性:

enter image description here

+0

好,赶上这个问题,当你从Java移植到.NET并且经历了很长时间之后!对第二个问题有帮助吗? – Vivek 2012-01-12 13:28:56

+1

@livingtolearn,你不清楚你的第二个问题是什么。如果XML文件与可执行文件不在同一文件夹中,则可以指定它的相对路径或绝对路径:'XDocument configXML = XDocument。负载( “富/酒吧/ Config.xml中”);'。如果您想自动将Config.xml文件复制到输出文件夹,您可以在属性窗口中设置其“复制到输出目录”属性。我已经更新了我的答案。 – 2012-01-12 13:30:36

+0

“解决方案项目”文件夹中的xml文件,并且在那里它没有给我一个“复制到输出目录”的选项,那么解决方法是什么? – Vivek 2012-01-12 13:41:44

0

尼克已经指出了这个问题发表评论,而调用XDocument.Load静态方法,你不应该使用new关键字。

因此

XDocument configXML = XDocument.Load("Config.xml"); 

应该工作

2

选择在解决方案资源管理器中的文件,并将该文件的“复制到输出目录”设置属性为“复制,如果新”或“总是”,建设行动“无”