C# 下载文件会引发未经授权的访问异常net core 2

C# 下载文件会引发未经授权的访问异常net core 2,c#,iis,asp.net-core-2.0,file-permissions,C#,Iis,Asp.net Core 2.0,File Permissions,我正在下载一个文件。(它以前工作过)但现在开始失败了 这是一个由web api net core 2项目支持的.net core 2 web项目。它正在抛出以下错误消息 错误。处理您的请求时出错。请求ID: 0HLDPTBLNENOG:0000000 A 切换到开发环境的开发模式将显示更多 有关发生的错误的详细信息 不应在部署中启用开发环境 应用程序,因为它可能会从 向最终用户显示的异常。对于本地调试, 可以通过设置 ASPNETCORE_环境变量用于开发,以及 重新启动应用程序 首先,我不知道

我正在下载一个文件。(它以前工作过)但现在开始失败了

这是一个由web api net core 2项目支持的.net core 2 web项目。它正在抛出以下错误消息

错误。处理您的请求时出错。请求ID: 0HLDPTBLNENOG:0000000 A

切换到开发环境的开发模式将显示更多 有关发生的错误的详细信息

不应在部署中启用开发环境 应用程序,因为它可能会从 向最终用户显示的异常。对于本地调试, 可以通过设置 ASPNETCORE_环境变量用于开发,以及 重新启动应用程序

首先,我不知道如何启用开发模式,我甚至尝试用这个命令更改环境变量

setx ASPNETCORE_环境“开发”

但是没有起作用

无论如何,我试着先记录这个过程。我在webapi中有一个方法,它在存储库中定位de文件,并将文件位置返回给web控制器。根据我的日志,它没有抛出异常,一切都按计划进行

在web控制器中,在这一点之前,一切工作都很顺利

return File(new FileStream(location, FileMode.Open), "application/x-msdownload", filename.doc);
抛出以下异常(这是异常消息中引用的第94行)

所以我认为这与权限有关

我添加了IUSR、IIS_IUSRS、网络服务,我甚至尝试了所有人,但它仍然抛出相同的异常

有些帖子说我必须添加IIS Apppool用户,但我在“检查名称”对话框中找不到他们

文件位于硬盘I:网站位于C:

谢谢

根据,您应该在cmd中运行以下命令:

ICACLS <Folder Name> /grant "IIS AppPool\DefaultAppPool:F" /t
ICACLS/grant“IIS应用池\DefaultAppPool:F”/t
ICACLS <Folder Name> /grant "IIS AppPool\DefaultAppPool:F" /t