使用清除系统临时文件的bat(批处理)文件,会导致出现如下错误:
编译器错误信息:CS0016:未能写入输出文件“c:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\rfserver\181f91e7\f45954e8\2sdyzi1d.dll”--“拒绝访问。 ”
原来执行这个bat时会将系统目录(C:\WINDOWS)下的temp目录一起删除,当重新启动计算机之后,这个目录又会自动生成。在安装.net framework时会给temp目录添加NETWORK SERVICE(对Windows 2003是NETWORK SERVICE,Windows 2000是ASPNET)用户的完全控制权限,在执行基于.net的web项目时系统会以NETWORK SERVICE用户身份向temp目录写文件,而新建的temp目录没有NETWORK SERVICE的操作权限,所以会出现这个错误。
解决方法:
给系统目录(C:\WINDOWS)下的temp目录添加NETWORK SERVICE(对Windows 2003是NETWORK SERVICE,Windows 2000是ASPNET)用户的完全控制权限。
win7及xp方法
1.在找到C:\Windows\Temp 文件夹
2.给Temp文件夹添加NETWORK SERVICE用户,给读写权限
具体步骤
文件夹右键属性--->安全--->编辑--->添加--->高级--->立即查找--->
在搜索结果中选中NETWORK SERVICE--->确定--->确定--->
勾上读取和修改(也可以给个完全控制权限)--->确定
第二种方法
直接选IIS_SERVICE 方法如上