c# - 在 C# Web 应用程序中访问内容文件

标签 c# iis linq-to-xml virtual-directory xml

这个问题已经困扰我 3 天了。
我有一个标记为 ContentAlways Copy 的 xml 文件。
文件已复制到:
C:\Users\avi\Documents\Visual Studio 2010\Projects\ExpressBroker\ExpressBroker\bin\XMLMetadata\Actions.1.xml

访问文件时:

//like that:
XDocument actions = XDocument.Load("bin\\XMLMetadata\\Actions.1.xml");
//or like that:
XDocument actions = XDocument.Load("XMLMetadata\\Actions.1.xml");
//or like that:
XDocument actions = XDocument.Load("Actions.1.xml");

我得到以下异常: 异常详细信息:System.IO.DirectoryNotFoundException:找不到路径“C:\Program Files\IIS Express\bin\XMLMetadata\Actions.1.xml”的一部分。

为什么在IIS文件夹里搜索到?我如何访问该文件?

我正在使用带 VWD2010 的 IIs Express

最佳答案

您需要使用

获取 Web 应用程序的相对路径
Server.MapPath("/")+"bin\\XMLMetadata\\Actions.1.xml" 

像那样。

关于c# - 在 C# Web 应用程序中访问内容文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7854762/

相关文章:

Linq to XML,选择给定节点的所有属性及其值

c# - Mono "This XmlWriter does not accept Text at this state Prolog."中的 XDocument 保存错误

c# - 无法读取 ASP.NET WebApi Controller 中的 Request.Content

c# - 动态程序集和方法

c# - 算法建议唯一值和编辑

jquery - 移动到本地 IIS 后,CSS 和脚本链接不再有效

c# - 避免模​​型项目和契约(Contract)项目之间的循环引用

c# - 在Web和控制台应用程序之间共享配置文件

asp.net - msbuild 只部署而不构建

c# - 我可以阻止从字符串自动转换为 XName 吗?