Board logo

标题: [软件故障] 当前标识没有对“C:\WINDOWS\Microsoft.NET\...”的写访问权限的解决办法 [打印本页]

作者: shillan    时间: 2012-3-7 11:34     标题: 当前标识没有对“C:\WINDOWS\Microsoft.NET\...”的写访问权限的解决办法

现象:访问ASP.NET程序时出现
  1. “/”应用程序中的服务器错误。
  2. --------------------------------------------------------------------------------

  3. 当前标识(NT AUTHORITY\NETWORK SERVICE)没有对“C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files”的写访问权限。
  4. 说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

  5. 异常详细信息: System.Web.HttpException: 当前标识(NT AUTHORITY\NETWORK SERVICE)没有对“C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files”的写访问权限。

  6. 源错误:

  7. 执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。  

  8. 堆栈跟踪:


  9. [HttpException (0x80004005): 当前标识(NT AUTHORITY\NETWORK SERVICE)没有对“C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files”的写访问权限。]
  10.    System.Web.HttpRuntime.SetUpCodegenDirectory(CompilationSection compilationSection) +3591451
  11.    System.Web.HttpRuntime.HostingInit(HostingEnvironmentFlags hostingFlags) +222

  12. [HttpException (0x80004005): 当前标识(NT AUTHORITY\NETWORK SERVICE)没有对“C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files”的写访问权限。]
  13.    System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +3540923
  14.    System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +69
  15.    System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr) +275




  16. --------------------------------------------------------------------------------
  17. 版本信息: Microsoft .NET Framework 版本:2.0.50727.832; ASP.NET 版本:2.0.50727.832
复制代码
解决:
1、需要重新注册IIS服务扩展,步骤如下:
开始菜单——运行——输入cmd,按确定打开命令行窗口——输入命令行:
  1. C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis -i
复制代码
2、删除C:\WINDOWS\Microsoft.net\Framework\v2.0.50727\Temporary ASP.net Files 里面的文件。

3、微软的官方解决方法:
①.给C:\temp添加用户NETWORK SERVICE
②.授予NETWORK SERVICE完全控制权限
③.在系统环境变量TEMP和TMP里加入 %SystemRoot%\TEMP
④.如果还不行,微软建议你重启IIS 或 Windows

附:微软官方原文 http://support.microsoft.com/default.aspx?scid=kb;en-us;825791
安装完 framework 3.0 之后,出现
不能访问 C:\WINDOWS \Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files 下的某个目录。产生这些错误的原因很多,主要的可能包括:Bin 目录或者 Web.config 被更改以及访问文件系统的权限不够。  

解决步骤:  

  1.禁用或设置 Indexing Service 服务
  2.检查 Bin 目录的访问权限
  3.设置 Temporary ASP.NET Files 目录的访问权限
  4.设置 Windows\Temp 的权限

给Network service添加FULL CONTROL权限


4.在C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files文件夹上点右键--> 属性 --> 安全 ,将其 NETWORK SERVICE 用户的权限设置为 ‘修改’。保存。

5.由于IIS和framework安装的顺序不对,所以要卸掉,重新安装。顺序是先装IIS 然后装 framework。

6.右击Temporary ASP.NET Files文件夹,属性,安全,添加NETWORK SERVICE用户,赋予其写入权限(如果已有此用户则不用添加);高级,所有者中,添加NETWORK SERVICE用户,并赋予其完全控制权限。(最终以此方法解决)
作者: 开心小龟    时间: 2012-3-23 18:04

辛苦!辛苦!!!
作者: 清水菱    时间: 2012-7-3 23:17

顶......叹为观止.....
作者: 白大全    时间: 2012-7-27 23:11

强烈感谢楼主
作者: www.dulady.com    时间: 2012-8-9 22:04

谢谢分享!!
作者: www.dulady.com    时间: 2012-8-10 20:52

楼上的稍等啦
作者: baizhuwang.com    时间: 2012-9-14 04:01

请楼主继续发好贴,支持你




欢迎光临 逐梦论坛 (http://temp2023.zhumeng.org/) Powered by Discuz! 7.2