繁体   English   中英

.NET c#:为什么Visual Studio希望我将文件放入c:\\…\\ myConsoleApplication \\ bin \\ Debug

[英].NET c#: Why does Visual studio expect me to put my files in c:\…\myConsoleApplication\bin\Debug

我是.NET编程的新手,尝试加载位于项目根目录中的xml文件时遇到以下异常。 有人可以向我解释为什么该程序在bin文件夹中寻找我的文件吗? 这是例外:

mscorlib.dll中发生了类型为'System.IO.FileNotFoundException'的未处理异常。其他信息:文件'c:\\ users \\ u957974 \\ documents \\ visual studio 2015 \\ Projects \\ XMLINQConsoleApplication \\ XMLINQConsoleApplication \\ bin \\ Debug \\ contacts.xml'找不到est。

这是我的项目的屏幕截图

Visual Studio不知道您的应用程序需要该文件才能运行。 你必须告诉它。

为此,请在解决方案资源管理器中右键单击该文件。 选择“属性”。

在“属性”下,找到“复制到输出目录”,然后选择“如果更新则复制”。

因为那是程序输出的编译位置。 生成的.exe文件(假设这是一个控制台应用程序)将在bin/Debug/生成。

如果要从项目的根目录加载文件,请使用相对路径,例如XElement.Load("../../contacts.xml")

从当前目录解析相对文件路径。 从Visual Studio运行应用程序时,当前目录是应用程序目录。

但是请注意,当前目录可以通过一些操作(例如OpenFileDialog)随时更改

Bin文件夹是您创建的任何.Net项目的工作目录。Bin文件夹包含所有已编译的程序集。 它具有项目正在使用的所有引用的Dll和资源。 由于您尚未指定Xml文件的路径,因此它正在尝试在当前目录中找到它,因此是异常。

您可以尝试指定路径,例如:

Xelement Xmldoc =  XElement.Load("../../contacts.xml")

给这样的道路

   Xelement Xmldoc = Xelement.Load("~/COntracts.xml");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM