CS0016: 未能写入输出文件“d:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\test\d087da43\c12930d8\9ze28k_8.dll”--“拒绝访问。”的解决方法
重装系统后,出现了如题的错误,有些帖子说,给WINDOWS\temp 授予network service 修改,读取和运行,读取,写入权限;有的说给WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files network service 完全控制权限。但是对我来说都没有解决问题。无奈,继续找。。。最后还是在微软的网站上找到了久违的解决方案:(http://support.microsoft.com/default.aspx?scid=kb;en-us;825791)
SYMPTOMS
When you view a Microsoft ASP.NET Application in a Web browser, you may receive the following error messages:
For the Microsoft .NET Framework version 1.1, the error message is the following:
For the Microsoft .NET Framework version 1.1, the error message is the following:
CS0016: Could not write to output file 'c:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\application1\c11b43f6\cf3ec03\rizcntet.dll' . The directory name is invalid.
For the .NET Framework 1.0, the error message is the following:
CS0013: Unexpected error writing metadata to file 'C:\WINDOWS\Microsoft.NET\Framework\v1.0.3705\Temporary ASP.NET Files\application2\3fc72f26\eb731247\ev2bslce.dll'. The directory name is invalid.
CAUSE
The system
TEMP and
TMP variables point to a folder that does not exist. The compiler generates temporary files in the folder where the
TEMP and the
TMP variables point to before the files are copied to the Temporary ASP.NET Files folder. However, the folder where the system variables point to is deleted when you restart the computer. Therefore, the compiler cannot generate the temporary files.
RESOLUTION
1. | Create a temporary folder under %Systemroot%, and then name it Temp. |
2. | Grant full permissions on the Temp folder to the aspnet user account in .NET Framework 1.0 or to the NETWORK SERVICE user account in .NET Framework 1.1. |
3. | Right-click My Computer, and then click Properties. |
4. | On the Advanced tab, click Environment Variables. |
5. | Select the TEMP variable under System variables, and then click Edit. |
6. | Type %SystemRoot%\TEMP in the Variable Value box, and then click OK. |
7. | Repeat steps 5 and 6 to edit the TMP variable. Click OK two times. |
8. | Click Start, and then click Run. |
9. | To reset Internet Information Services (IIS), type iisreset on the command prompt. Note If the error message that is mentioned in the "Symptoms" section of this article persists, restart the computer. |