c# - StreamReader 因目录错误而失败?

标签 c# asp.net

我正在尝试从我的 Web 应用程序的 App_Data 文件夹加载文件:

  KezMenu kmenu = new KezMenu("~/App_Data/Menu.xml");

但出于某种原因,这导致 MSVC 试图在一个奇怪的区域中找到它:

Could not find a part of the path 'C:\Program Files (x86)\Common Files\Microsoft Shared\DevServer\10.0\~\App_Data\Menu.xml'.

我不明白为什么它指向这里而不是我的项目目录。

我必须做什么才能让它正常工作?

谢谢

最佳答案

听起来 KezMenu 希望(而不是它)担心虚拟路径与物理路径。尝试:

KezMenu kmenu = new KezMenu(
    HttpContext.Current.Server.MapPath("~/App_Data/Menu.xml"));

KezMenu kmenu = new KezMenu(Server.MapPath("~/App_Data/Menu.xml"));

如果您已经有可用的 Server 属性。

关于c# - StreamReader 因目录错误而失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14710218/

相关文章:

c# - 为构造函数类指定固定值和容器中的其他变量

c# - 控制 dotnet core 的 ThreadPool 中的线程数

c# - ICollection 作为参数 : Provide List or Array

c# - 最佳服务器端 .NET PDF 编辑库

javascript - 从外部 JS 文件调用时 document.getElementById() 返回 NULL

c# - 使用 Linq 从表中计算星期一、星期二等的数量

c# - BitmapData.Stride 与 GetPixelFormatSize(BitmapData.PixelFormat) 除以 8

c# - 如何在 ASP.NET 5 中使用 HttpRequestMessage.CreateResponse<HttpError>()

c# - 为什么我的查询没有结果?

c# - 将页码添加到 pdf 文档 (itextsharp)