找不到路径'C:\ Program Files(x86)\ IIS Express \〜\ TextFiles\ActiveUsers.txt'的一部分

DoI*_*oIt 11 c#

我尝试了很多方法从名为的文件夹中访问Visual Studio 2012解决方案中的文本文件 TextFiles

using (System.IO.StreamWriter file = new System.IO.StreamWriter(@"~/TextFiles/ActiveUsers.txt", true))
{
    file.WriteLine(model.UserName.ToString());
}
Run Code Online (Sandbox Code Playgroud)

但它继续抛出错误

找不到路径'C:\ Program Files(x86)\ IIS Express \〜\ TextFiles\ActiveUsers.txt'的一部分.

不确定我犯了什么错误

Sco*_*ain 13

您需要使用HttpServerUtility.MapPath它将~/路径的一部分转换为它在硬盘驱动器上弹回的实际位置.

因此,这会将您的代码更改为(假设您在其中一个Server向其公开属性的IIS类中)

var path = Server.MapPath(@"~/TextFiles/ActiveUsers.txt");

using (System.IO.StreamWriter file = new System.IO.StreamWriter(path, true))
{
    file.WriteLine(model.UserName.ToString());
}
Run Code Online (Sandbox Code Playgroud)


Chr*_*ani 6

我遇到了类似的问题并最终使用

string sFileName = HttpContext.Current.Server.MapPath(@"~/dirname/readme.txt");
Run Code Online (Sandbox Code Playgroud)