使用GetCurrentDirectory函数为同一位置获取两个不同的值

时间:2019-01-11 13:11:02

标签: c# asp.net-core-2.2

我已经下载了一个ASP.Net Core 2.2 MVC项目。运行正常。但是,当我在系统中创建新的Asp.Net core 2.2 MVC项目并从下载的项目中复制所有代码时,一个GetCurrentDirectory函数无法正常工作。

我正在使用以下代码:

Path.Combine(Directory.GetCurrentDirectory(), location, fileName)

我的项目在D盘中。 我下载的项目显示正确的路径。但是我创建的项目显示在路径下面:

  

C:\ Program Files \ IIS Express \ data \ people.json

任何人都可以帮助我解释为什么会发生这种情况吗?

1 个答案:

答案 0 :(得分:1)

在ASP.NET Core 2.2.0中使用IIS进程内托管时,当前目录设置为IIS应用程序本身的目录,因此在您进行调试时,它是IIS Express的位置:{{1 }}

此行为将在ASP.NET Core 2.2.2中修复,以更加直观并匹配应用程序在磁盘上的位置:https://github.com/aspnet/AspNetCore/pull/6150