DirectoryNotFoundException将XML文件加载到控制台应用程序中时出错

时间:2015-09-27 15:10:23

标签: c#

我是C#的新手并尝试解析XML文档,但我一直收到错误,找不到目录

显然我的xml文件和数据文件夹在程序启动时没有被\bin\Debug加密

以下是我的代码:

收到错误:

An unhandled exception of type 'System.IO.DirectoryNotFoundException' occurred in mscorlib.dll

Additional information: Could not find a part of the path 'C:\Users\Alfred\Source\Workspaces\CIS151_MEY\AlfredM Books XML\AlfredM Books XML\bin\Debug\Data\Books.xml'.

班级档案:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Xml;
using System.Xml.Linq;
using System.Reflection;

namespace AlfredM_Books_XML
{
    class XmlHelper
    {
        public static XDocument GetBookDocument()
        {
            string appPath = System.Reflection.Assembly.GetExecutingAssembly().Location;

            FileInfo asm = new FileInfo(System.Reflection.Assembly.GetExecutingAssembly().Location);

            FileInfo fi = new FileInfo(asm.DirectoryName + @"\Data\Books.xml");

            XDocument doc = XDocument.Load(fi.FullName);
            return doc;
        }
    }
}

这是我添加XML文件的地方

enter image description here

2 个答案:

答案 0 :(得分:4)

Books.xml中选择您的Solution Explorer文件,右键单击该文件,然后选择Properties。然后将属性Copy To Output Directory值设置为Copy always

答案 1 :(得分:0)

您需要明确告诉msbuild在构建期间复制文件。为此,请右键单击解决方案资源管理器中的文件,选择属性,然后将“复制”更改为输出目录。