今天新建了一個.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"