现在的位置: 首页 > 综合 > 正文

PrecompiledApp.config 的惨剧

2012年11月13日 ⁄ 综合 ⁄ 共 767字 ⁄ 字号 评论关闭

    最近升级一个webservices(其实就是在web.config中修改一个参数的值),忽然看到有个PrecompiledApp.config文件,

当时不知道是脑袋被门夹了还是怎么,觉得这个文件和 xxx.vshost.exe.config 一样是多余的,直接就删掉了,参数修改完毕

后,运行一下测试,没问题,心想就这么搞定了。

    到了第二天,系统没来由的挂掉了 ,webservices中的函数运行出错,最最奇怪的是 log4net 不输出任何日志了,这叫我怎么查

啊,我没装远程调试啊。。

    马上想想昨天在服务器上修改啥了,但是只能想起修改过web.config 的参数,把参数还原?还是不行。

    只好在本机测试一下,一切正常,再发布到服务器上(我发布的时候,一般只更新服务器上的 bin 目录),还是没搞定,重启IIS? 不行

重启服务器?不行,试了N种办法,在本地都是正常的,放到服务器上都不行。最后实在没办法了,把服务器上 旧版本的webservices备份

调出来,整个覆盖掉现在的文件(这会不敢像以前那样只更新 bin 目录了),覆盖掉后再重启IIS,奇怪,OK了。把web.config 的参数再改

一下,也没问题了。

    虽然问题已经解决了,但由于没找到根本原因,这几天也一直想着这件事,今天发布一个新网站时,看到 PrecompiledApp.config时灵

光闪现,就是它,一定就是它!!!马上上网搜索 PrecompiledApp.config 文件,哎,果然是个不能删的重要文件啊。。。再发布新版本

到服务器上,就没出过什么问题了。

PrecompiledApp.config 文件用于跟踪应用程序的部署方式,以及 ASP.NET 是否需要在请求时编译任何文件。 

删除之后一些应用程序级的东西将无法使用. 

所以 log4net 才会无法正常工作。

抱歉!评论已关闭.