当前标识 (IIS APPPOOL\.NET v4.5) 没有对”C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files” 的写访问权限。

IIS​ 错误解决:当前标识没有对 Temporary​ ASP.NET​ Files​ 的写访问权限

独立观察员 2020 年 5 月 15 日

完整错误:

当前标识 (IIS APPPOOL\.NET v4.5) 没有对”C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files​” 的写访问权限。

其中的标识 “.NET v4.5” 是指你的应用程序池,所以每个人可能不一样;后面的路径也可能不一样,比如不是 “Framework” 而是 “Framework64” 之类的。

那么这个问题如何解决呢?我们需要使用 Windows PowerShell 来执行 “ASP.NET 注册选项”,具体地说,应该是使用 Aspnet_regiis.exe 程序的相关命令来” 为指定的用户或用户组授予权限,使其可以访问 IIS 元数据库和 ASP.NET 使用的其他目录”。我用网上提供的方法,在 PowerShell 中输入如下命令:

IIS 错误解决:当前标识没有对 Temporary ASP.NET Files 的写访问权限_Temporary

这个其实有点问题,网上的说法是出现这个界面就成功了,其实并不是,出现这种界面一般是命令有误,相关程序输出了帮助信息。不过也好,我们可以看到我们需要的 “-ga” 命令选项,右边是对其的解释 —— 为指定的用户或用户组授予权限,使其可以访问 IIS 元数据库和 ASP.NET 使用的其他目录。

那么正确的命令是什么呢?应该将用户或用户组用单引号引起来,如下(注意按实际情况修改):

C:\Windows\Microsoft.NET\Framework\v4.0.30319\Aspnet_regiis.exe -ga ‘IIS APPPOOL\.NET v4.5’

还有要用管理员权限的 PowerShell,不然会有如下错误:

IIS 错误解决:当前标识没有对 Temporary ASP.NET Files 的写访问权限_权限_02

所以,我们右键 win10 开始菜单,点击 “Windows PowerShell (管理员)(A)”:

IIS 错误解决:当前标识没有对 Temporary ASP.NET Files 的写访问权限_权限_03

然后输入命令并回车,即可得到正确结果,问题解决:

IIS 错误解决:当前标识没有对 Temporary ASP.NET Files 的写访问权限_IIS_04

祝好。