步骤 1:给临时 ASP.NET 目录添加权限
打开文件夹:
plaintext
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files(如果是 32 位站点,同时检查
Framework文件夹下的同名目录)右键
Temporary ASP.NET Files文件夹 →属性→安全→编辑→添加添加以下用户 / 组(根据你的应用程序池身份选择):
- 如果应用程序池用的是默认的
IIS AppPool\你的应用池名称:直接输入池名 - 如果用的是
Network Service:添加NETWORK SERVICE - 如果用的是
IUSR:添加IUSR - 通用做法:直接添加
Everyone临时测试(解决后再收紧权限)
- 如果应用程序池用的是默认的
给添加的用户分配权限:修改、读取和执行、列出文件夹内容、读取、写入,点击确定保存。
步骤 2:清空临时目录(解决文件锁定问题)
有时候目录里的旧 DLL 被锁定,也会导致写入失败:
- 停止 IIS(以管理员打开命令提示符,执行):
cmd
iisreset /stop - 删除
Temporary ASP.NET Files\root\下的所有文件夹(就是报错路径里的那些随机命名的目录) - 重新启动 IIS:
cmd
iisreset /start
步骤 3:检查应用程序池身份配置
- 打开 IIS 管理器 → 应用程序池 → 找到你的站点对应的池
- 右键 → 高级设置 → 进程模型 → 身份
- 推荐先测试使用
LocalSystem(高权限),如果问题解决,再改为更安全的身份 - 注意:
ApplicationPoolIdentity默认权限较低,需要按步骤 1 给临时目录授权
- 推荐先测试使用