老服务器上的IIS一直都在运行net1.1版本的应用,现在新建了个2.0版本的网站,在运行的时候报错:
error CS0016:
未能写入输出文件“c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary
ASP.NET Files\root\a6661180\22b8bc05\App_Code.qrwqmk9h.dll”–“目录名无效。 ”
网上查询解决办法:
- 修改系统盘windows/temp目录的安全权限,将NETWORK SERVICE用户组的权限设置为读取和写入,然后重启IIS
但设置之后无用,因为看到IIS里匿名访问帐户是IUSR_HXSERVER,于是将此用户也添加到temp目录安全里,设置读取和写入权限,重启IIS,仍旧无效;
最后索性在temp安全里添加了everyone,设置完全控制,重启IIS后居然成功了;
然后倒着做,删除everyone,正常运行,删除IUSR_HXSERVER,正常运行,最后把NETWORK SERVICE删除,仍旧可以正常运行,服务器重启后也依旧正常。
应该是运行需要的文件已经编译完成,之后再次运行已经无需编译了