ASP.Net核心在某些站点而不是其他“System.IO.DirectoryNotFoundException”

问题描述 投票:0回答:1

代码来创建一些项目的工作是失败的所有新项目的JSON文件。

以管理员身份运行没有帮助。

请帮助!

我所有新创建的ASP.Net MVC的核心项目是无法创建本地目录中的文件。失败的代码是:

string _physicalPath = Path.Combine(Path.Combine(Directory.GetCurrentDirectory(), "Files"), "tblTxt.json");
using (StreamWriter writer = System.IO.File.AppendText(_physicalPath))
{
    writer.WriteLine("log message");
}

对所有新项目的结果是:{System.IO.DirectoryNotFoundException:找不到路径的一部分“C:\ Program Files文件\ IIS快递\文件\ tblTxt.json”。在System.IO.FileStream.ValidateFileHandle(SafeFileHandle文件句柄)在System.IO.FileStream.CreateFileOpenHandle(的FileMode模式,文件共享份额,FileOptions选项)在System.IO.FileStream..ctor(字符串路径,的FileMode模式,FileAccess的访问,文件共享份额,缓冲区大小的Int32,FileOptions选项)在System.IO.StreamWriter..ctor(字符串路径,布尔追加,编码方式进行编码,的Int32 BUFFERSIZE)在System.IO.StreamWriter..ctor(字符串路径,布尔附加)在System.IO .File.AppendText(字符串路径)在WebAutomation.Startup.Configure(IApplicationBuilder应用程序,IHostingEnvironment ENV)在C:\用户\帕特里\源\回购\ WebAutomation \ WebAutomation \ Startup.cs:线25}

c# asp.net
1个回答
1
投票

首先Path.Combine(Path.Combine(Directory.GetCurrentDirectory(),“文件”)是不好的通行证串像这样

var t = Path.Combine("D:", "DOWNLOADS","abc");//==>D:\DOWNLOADS\abc

其次Directory.GetCurrentDirectory()给你 'C:\ Program Files文件\ IIS快递\文件\ tblTxt.json'。

Check if "Files" directory exists in "C:\Program Files\IIS Express" using 
"Directory.Exists()"
if it dosent exist then  create one using   "Directory.CreateDirectory()"
Directory.CreateDirectory(@"C:\Program Files\IIS Express\Files")
© www.soinside.com 2019 - 2024. All rights reserved.