不能在Web应用程序中找到路径

问题描述:

我想写使用下面的代码使用ASP.NET 4.5 with c#一个文本文件:不能在Web应用程序中找到路径

using (System.IO.StreamWriter file = new System.IO.StreamWriter(@"./Experiment/main.txt", true)) 
{ 
file.WriteLine(DateTime.UtcNow.ToString() + " test"); 
} 

而且我得到这个异常:

"Could not find a part of the path 'C:\Windows\SysWOW64\inetsrv\Experiment\main.txt'." 

文件夹Experiment是我的web应用程序的文件夹。

+1

,它使用的工作目录是不是你的Web根目录,这是你的IIS运行的位置。 – Tobberoth

您需要给物理路径而不是相对路径,使用Server.MapPath("~")来获取站点的根路径,然后将文件路径附加到它。您可以在post中了解有关Server.MapPath的更多信息。当您在ASP.NET使用相对路径

using (System.IO.StreamWriter file = new System.IO.StreamWriter(Server.MapPath(@"~/Experiment/main.txt"), true)) 
{ 
    file.WriteLine(DateTime.UtcNow.ToString() + " test"); 
} 

试试这个代码

using (System.IO.StreamWriter file = new System.IO.StreamWriter(AppDomain.CurrentDomain.BaseDirectory+"Experiment/main.txt", true)) 
{ 
     DirectoryInfo dirInfo = new DirectoryInfo(AppDomain.CurrentDomain.BaseDirectory+"Experiment/main.txt"); 
      if (!dirInfo.Exists) 
      { 
       dirInfo.Create(); 
      } 
    file.WriteLine(DateTime.UtcNow.ToString() + " test"); 
}