为什么ASP.NET因GAC权限而失败?

ser*_*mum 7 asp.net gac

我正在尝试在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 <我的机器名>\ASPNET授予ASPNET帐户的权限
  • 我已使用CACLS%WINDIR%\ assembly/e/t/p <我的机器名>\ASPNET:R授予GAC对ASPNET帐户的读取权限
  • 我已经在IIS中将站点的ASP.NET版本设置为2.0

我不确定我还能做什么!


使用Process Monitor直接导致了我的问题.非常感谢Mun提示.

这是一个相当模糊的问题:我之前使用过程序集绑定日志查看器(fuslogvw.exe)并将其设置为使用自定义路径选项记录所有绑定到磁盘.但是,ASPNET帐户没有该自定义路径的权限.因此,恢复使用默认路径解决了问题.授予对ASPNET帐户的自定义路径的读/写权限也是有效的,禁用绑定日志记录也是如此.

Mun*_*Mun 2

您可能还会发现进程监视器对于解决这些类型的问题很有用。如果您设置一个过滤器来显示包含 aspnet_wp.exe 的所有活动,它应该显示它正在尝试访问哪些文件,从而允许您相应地更新权限。