我试图在我的应用程序的设置文件夹中查找文件。我有一个xml文件。当我运行以下代码时:
XDocument xDoc = XDocument.Load(@"..\settings\Settings.xml");
我收到了DirectoryNotFoundException
,并且在\bin\settings\Settings.xml'.
找不到例外情况,而不是上面的情况。我甚至尝试了完整的根目录来查看问题C://...
,但它仍然包含bin文件夹?
我怎么能拥有它,所以它不包含bin
部分?
答案 0 :(得分:2)
默认情况下,Visual Studio中的构建结果保存在bin\Debug
之类的文件夹中。由于您使用跳过一个较高文件夹的相对路径,因此获得yourProjectFolder\bin\settings\Settings.xml
。该文件不存在,因为它可能位于项目文件夹中,而不是bin文件夹中。
处理此问题的典型方法是确保应该作为内容一部分的文件实际上将“构建操作”设置为“内容”。
使用root路径肯定有效 - 很可能,你在某个地方犯了错误;要么路径根本没有根源,要么就是将路径解释为URI而不是文件路径。 XDocument.Load
采用URI而不是文件路径 - 在文件系统上引用绝对路径的正确方法是file://C:/ThePath/Settings/Settings.xml
。