随笔 - 170  文章 - 0  评论 - 349  阅读 - 234万

CS0016: 未能写入输出文件的解决方法

 开发工具:Microsoft Visual Studio Professional 2015

目标框架:.NET Framework 4.52

 “/”应用程序中的服务器错误。 --------------------------------------------------------------------------------

编译错误  说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。 
编译器错误消息: CS0016: 未能写入输出文件“c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\9b70b3a1\3eb1115f\App_Code.aez6e3ev.dll”-- “拒绝访问。 ”
源错误:

[没有相关的源行]   源文件:    行: 0 

产生原因: 应用程序运行时产生的临时文件需要存放到c:"windows"temp 文件夹下,而运行基于microsoft .net framework 框架下的应用程序 需要对temp 具有读写的权限 ,所以程序运行产生的临时文件不能存储或读取 ,或者路径不存在的情况下都会产生编译错误。
解决方法

1、设置c:windows\temp 目录访问权限 temp--> 属性-->安全-- > 添加了iis_user和network service -->都赋予其权限为 读 和 写--> 确定

2、先关闭iis,清空 c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\目录,再重启IIS,然后给c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\目录增加network service和了iis_user用户权限,并设置为读取和写入权限。

3、给网站文件目录添加users和network service用户权限,并设置权限为读取和运行。

在iis7下比较常见此问题,一般按以上步骤操作后即可解决,如果还不行,可给上面几个目录增加everyone和aspnet的权限测试一下。

本地测试,也可以直接将IIS应用程序池改为 LocalSystem 类型

 

posted on   zock  阅读(3179)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
历史上的今天:
2014-06-02 [SQL SERVER 2005]数据库差异备份及还原
2010-06-02 Visual Studio 2010五大新特性

点击右上角即可分享
微信分享提示