2013-11-14 67 views
4

我想寫使用下面的代碼使用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

回答

7

您需要給物理路徑而不是相對路徑,使用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"); 
} 
0

試試這個代碼

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"); 
} 
相關問題