无法使用 Server.MapPath

我必须做什么才能使 Server.MapPath工作?
我有 using System.Web;

还有什么? 当我键入 Server时,没有快速结果选项(智能感)用于 Server

有人帮忙吗?

268790 次浏览

您的项目需要引用程序集 System.Web.dll.Server 是 HttpServerUtility类型的对象。示例:

HttpContext.Current.Server.MapPath(path);

你可以试试用这个

    System.Web.HttpContext.Current.Server.MapPath(path);

或使用 HostingEnvironment.MapPath

    System.Web.Hosting.HostingEnvironment.MapPath(path);

尝试添加 System.Web作为项目的引用。

您需要添加引用(System.Web) 参考 System.Web

如果没有,首先添加对 System.web的引用。在 参考文献文件夹中这样做。

然后可以使用 Hosting.HostingEnvironment.MapPath(path);

如果我们从一个线程调用它,System.Web.HttpContext.Current.Server.MapPath("~/")给出 null。

所以,尝试使用

System.Web.Hosting.HostingEnvironment.MapPath("~/")

bool IsExist = System.IO.Directory.Exists(HttpContext.Current.Server.MapPath("/UploadedFiles/"));
if (!IsExist)
System.IO.Directory.CreateDirectory(HttpContext.Current.Server.MapPath("/UploadedFiles/"));


StreamWriter textWriter = File.CreateText(Path.Combine(HttpContext.Current.Server.MapPath("/UploadedFiles/") + "FileName.csv"));
var csvWriter = new CsvWriter(textWriter, System.Globalization.CultureInfo.CurrentCulture);
csvWriter.WriteRecords(classVM);

我知道这篇文章已经有几年的历史了,但是我所做的就是将这一行添加到你的类的顶部,你仍然可以使用服务器。地图路径

Dim Server = HttpContext.Current.Server

或者你可以做一个函数

Public Function MapPath(sPath as String)
return HttpContext.Current.Server.MapPath(sPath)
End Function

我只是想让事情简单点。我还把它添加到我的实用程序类,以防万一我再次遇到这种情况。

我面临着同样的问题,我想这可能会帮助某人。正如这个问题的原始海报问

我必须做什么,使服务器。地图路径工作?
我使用的是 System.Web;

我们编写的类应该实现 系统 Web.UI.Page

例如,我们的类名是 MyClass

public class MyClass: System.Web.UI.Page
{
// Code runs here
}