编译器错误消息: CS0016: 未能写入输出文件“c:\Windows\Microsoft.NET... 拒绝访问
编译器错误消息: CS0016: 未能写入输出文件“c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files
该错误通常是由于权限问题导致.NET无法向临时目录写入文件。
以下是解决方案:
1.修改Temp文件夹权限
导航到C:\Windows\Temp文件夹,右键选择"属性"→"安全"→"编辑",添加以下用户并赋予"修改"权限: IIS_IUSRS、NETWORK SERVICE、Users 确保勾选"修改"权限后应用更改 。
2.检查环境变量
确认系统环境变量中TEMP和TMP的值为%SystemRoot%\TEMP。可通过以下步骤检查:
右键"此电脑"→"属性"→"高级系统设置"→"环境变量"
修改系统变量中的TEMP和TMP值 。
3.应用程序池配置
在IIS中检查应用程序池的"标识"设置:
如果是ApplicationPoolIdentity,需确保IIS_IUSRS有权限
可尝试改为NetworkService或LocalSystem 。
4.其他可能方案
运行aspnet_regiis -i重新注册ASP.NET
清理Temporary ASP.NET Files目录内容后重启IIS
检查磁盘空间和配额限制