在所有新项目上创建用于某些项目的json文件的代码均失败。
以管理员身份运行无济于事。
请帮助!
我创建的所有新ASP.Net Core 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 Express \ Files \ tblTxt.json”的一部分。 在System.IO.FileStream.ValidateFileHandle(SafeFileHandle fileHandle) 在System.IO.FileStream.CreateFileOpenHandle处(FileMode模式,FileShare共享,FileOptions选项) 在System.IO.FileStream..ctor处(字符串路径,FileMode模式,FileAccess访问,FileShare共享,Int32 bufferSize,FileOptions选项) 在System.IO.StreamWriter..ctor处(字符串路径,布尔值附加,编码编码,Int32 bufferSize) 在System.IO.StreamWriter..ctor处(字符串路径,布尔值附加) 在System.IO.File.AppendText(字符串路径) 在WebAutomation.Startup.Configure(IApplicationBuilder应用程序,IHostingEnvironment env)位于C:\ Users \ patri \ source \ repos \ WebAutomation \ WebAutomation \ Startup.cs:line 25}
答案 0 :(得分:1)
首先 Path.Combine(Path.Combine(Directory.GetCurrentDirectory(),“ Files”)不好 像这样传递字符串
var t = Path.Combine("D:", "DOWNLOADS","abc");//==>D:\DOWNLOADS\abc
第二个Directory.GetCurrentDirectory()给您 “ C:\ Program Files \ IIS Express \ Files \ 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")