原先运行很好的代码最近总是出现
编译器错误消息: 编译器失败,错误代码为 255。
总是频繁出现, 重启后电脑后又正常了.
百度后无结果. 网络上尝试的方法都不太靠谱, 关闭了杀毒软件, 仍然显示不正常.
后来无奈的情况下, 打开内容下面的编译器详细输出, 内如如下.
c:\windows\system32\inetsrv>F:\业务系统\DataCenter\bin\roslyn\csc.exe /t:library /utf8output /nostdlib+
/R:"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\mscorlib.dll"
/R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Runtime\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Runtime.dll"
/R:"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\ca8818e4\321c41ca\assembly\dl3\b9910984\00a66c76_700cd501\Oracle.ManagedDataAccess.EntityFramework.dll"
/R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Web.Extensions\v4.0_4.0.0.0__31bf3856ad364e35\System.Web.Extensions.dll"
......
...... 这里有很多我去掉了无用的部分.看异常日志一般就是看头尾
......
/R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.ComponentModel.DataAnnotations\v4.0_4.0.0.0__31bf3856ad364e35\System.ComponentModel.DataAnnotations.dll"
/R:"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\ca8818e4\321c41ca\assembly\dl3\a4b32f7d\00011698_ed6dd001\Microsoft.AspNet.Identity.EntityFramework.dll"
/R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll"
/R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.ServiceModel.Activities\v4.0_4.0.0.0__31bf3856ad364e35\System.ServiceModel.Activities.dll" /out:"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\ca8818e4\321c41ca\App_global.asax.cnsv7hqx.dll" /D:DEBUG /debug+ /optimize- /warnaserror- /w:4 /nowarn:1659;1699;1701;612;618 /langversion:6 /nowarn:1659;1699;1701 "C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\ca8818e4\321c41ca\App_global.asax.cnsv7hqx.0.cs" "C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\ca8818e4\321c41ca\App_global.asax.cnsv7hqx.1.cs"
从这个日志来看, 日志跟我们代码相关的只有最下面的.global.asax 这些内容是IIS在启动的时候编译出错的.
所以估计是global.asax 文件中新增的功能代码没写好. 然后去把最近写的新功能注释掉了. 再次浏览系统恢复正常.
我想表达的是, 看问题的时候如果百度不到解决方案了. 要学会自己看日志.
多猜一猜.