asp.net NET核心“System.IO.DirectoryNotFoundException”在某些站点中出现,但在其他站点中没有

hs1ihplo  于 12个月前  发布在  .NET
关注(0)|答案(1)|浏览(192)

创建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:Could not find a part of the path 'C:在System.IO.FileStream. ValidateFileHandle上的\Program Files\IIS服务器\Files\tblTxt.json '.(SafeFileHandle fileHandle)位于System.IO.FileStream. DataFileOpenHandle(FileMode模式、FileShare共享、FileOptions选项),位于System.IO.FileStream.. ctor System.IO.StreamWriter.. ctor中的(字符串路径、FileMode模式、FileAccess访问、FileShare共享、Int 32 bufferSize、FileOptions选项)System.IO.StreamWriter.. ctor中的(字符串路径、布尔追加、编码、Int 32 bufferSize)(String path,Boolean append)at System.IO.File. WebAutomation.Startup.Configure(IApplicationBuilder app,IHostingEnvironment env)in C:\Users\patri\source\repos\WebAutomation\WebAutomation\Startup.cs:line 25}

zzoitvuj

zzoitvuj1#

首先路径.合并(路径.合并(Directory.GetCurrentDirectory(),“Files”)不好像这样传递字符串给它

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

字符串
第二个是Directory.GetCurrentDirectory(),它会给你'C:\Program Files\IIS Files\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")

相关问题