CS0016: 未能写入输出文件“c:windowsMicrosoft.NETFrameworkv2.0.50727Temporary ASP.NET Filesdata34aae0607daa87dApp_Web_addadvice.aspx.cdcab7d2.ekhlcbjd.dll”--“目录名无效。 ”

产生原因:
应用程序运行时产生的临时文件需要存放到c:"windows"temp 文件夹下 而运行基于microsoft .net framework 框架下的应用程序 需要对temp 具有读写的权限 ,所以程序运行产生的临时文件不能存储或读取 ,或者路径不存在的情况下都会产生编译错误。 
解决方法
1、设置c:windows emp 目录访问权限 temp--> 属性-->安全-- > 添加了iis_user和network service -->都赋予其权限为 读 和 写--> 确定
2、先关闭iis,清空 c:WindowsMicrosoft.NETFrameworkv2.0.50727Temporary ASP.NET Files目录,再重启IIS,然后给c:WindowsMicrosoft.NETFrameworkv2.0.50727Temporary ASP.NET Files目录增加network service和了iis_user用户权限,并设置为读取和写入权限,添加方法见第1步。
3、给网站文件目录添加users和network service用户权限,并设置权限为读取和运行,添加方法见第1步。

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

注:IIS的操作

1、界面操作

打开“控制面板”->“管理工具”->“服务”。找到“IIS Admin Service” 右键点击“重新启动” 弹出 “停止其它服务” 窗口,点击“是”。

2、Net 命令操作

点击 “开始”->“运行”,输入cmd 打开命令窗口;

输入 net stop iisadmin /y  回车停止IIS;
再输入 net start iisadmin  回车启动IIS;
再输入 net start w3svc 回车WEB服务。

3、IISReset 命令操作

点击 “开始”->“运行”,输入iisreset 回车。

原文地址:https://www.cnblogs.com/liwuyi/p/3720577.html