我正在尝试在 XP 机器上运行 ASP.NET 2.0 应用程序。据我所知,一切都配置正确。但是,我收到以下消息:
服务器应用程序不可用
并且每次在应用程序事件日志中出现两个事件:
aspnet_wp.exe (PID: 3352) 意外停止。
无法执行请求,因为 ASP.NET 进程标识没有对全局程序集缓存的读取权限。错误:0x80070005 访问被拒绝。
以前,ASP.NET 应用程序在这台机器上运行良好。
我尝试了以下步骤,但没有运气:
- 我已将站点主目录的读取权限授予 ASPNET 帐户
- 我已经使用 aspnet_regiis -i 重新安装了 ASP.NET 2.0
- 我已使用 aspnet_regiis -ga <my machine name>\ASPNET 授予 ASPNET 帐户权限
- 我已使用 CACLS %WINDIR%\assembly /e /t /p <my machine name>\ASPNET:R 将 GAC 的读取权限授予 ASPNET 帐户
- 我已在 IIS 中将该站点的 ASP.NET 版本设置为 2.0
我不确定我还能做什么!
使用 Process Monitor 直接导致了我的问题。非常感谢 Mun 的提示。
这是一个非常模糊的问题:我之前使用了程序集绑定日志查看器 (fuslogvw.exe),并将其设置为使用自定义路径选项将所有绑定记录到磁盘。但是,ASPNET 帐户没有对该自定义路径的权限。因此,恢复使用默认路径解决了该问题。授予对 ASPNET 帐户的自定义路径的读/写权限也有效,禁用绑定日志记录也是如此。