今天新建了一个.net core api 项目, 版本为 .net core 2.2
启动调试,选择以 iis express方式运行后,发现Directory.GetCurrentDirectory()返回的不是当前路径,而是 C:\Program Files\IIS Express
打开之前建的 .net core 2.1的项目,以同样的方式运行,却能正确返回当前路径
找了半天原因,后面发现在2.2版本的项目文件 (.csproj)里面,多了一句<AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>
去掉后,Directory.GetCurrentDirectory()成功返回当前路径
另外一种解决方案:
在 launchsettings.json 这个文件里面设置. 在IIS Express --> environmentVariables 节点下添加
"ancmHostingModel": "OutOfProcess"