Simply The Best.

.NET FrameWork C# VB.NET CodeDom

博客园 首页 新随笔 联系 订阅 管理

问题的现实是:编译的时候会编译失败,等待10分钟以后,返回异常,且不能再现。

追其代码(此处获lichdr指点迷津),发现调用csc.exe的地方用了win32的api中的CreateProcess(),

且timeout的时间被设定为600000,单位是ms.也就是10分钟。

类似的问题还存在于System.CodeDom.Compiler >  CodeCompiler Class >  Methods
FromFile 等相关的所有自动编译的方法。

至于是csc.exe中的问题,还是调用csc.exe的WIN32的API的那个CreateProcess的问题
我也不清楚,说成是谁的都好像不太有可能,但是反过来说是这两者中的任何一个有问题,也在情理之中。

头疼的是,问题不能再现。看来只有自己亲自调用csc.exe,确定一下是否是csc的问题了。
如果csc.exe有问题,那就要找ms讨个说法了。

那个600000ms的timeout的设定,实在是让人觉得不舒服,如果小程序出了问题,就要等10分钟后,才能返回异常;如果大的程序10分钟以上的编译规模的话,就不能正常编译了。

(还有那个vbc.exe是否或许也应该有这个问题,但是我没有实际做过,不能肯定,这里只是提醒小心。)

posted on 2005-09-19 20:15  吹口琴的程序员  阅读(328)  评论(0编辑  收藏  举报