如果是这样,这是什么原因?即使它们超过10K,它不应该收集项目中存在的所有错误?
解决方法 我一直在写一篇博客文章.您可能只是针对报告的错误数量进行了一些硬编码的限制.您也可能会遇到一个更微妙和有趣的情况.
在命令行编译器和IDE编译器中尝试管理错误报告有很多启发式.两者都可以保持对用户的管理,并使编译器更加健壮.
简单来说,编译器的工作方式是尝试通过一系列的阶段获得程序,您可以在这里阅读:
http://blogs.msdn.com/b/ericlippert/archive/2010/02/04/how-many-passes.aspx
这个想法是,如果早期阶段出现错误,我们可能无法在没有(1)进入无限循环,(2)崩溃或(3)报告疯狂的“级联”错误的情况下成功完成后期阶段.那么会发生什么,你得到一个错误,你修复它,然后突然下一个编译阶段可以运行,它发现一堆更多的错误.
基本上,如果程序如此混乱,甚至无法验证有关其类和方法的基本事实,那么方法体不能可靠地给出错误.如果我们无法分析一个lambda体,那么我们无法将其转换成表达式树可靠地给出错误.等等;有很多情况下,后期阶段需要知道以前的阶段完成没有错误.
这个设计的最重要的一点是(1)首先得到最“根本”的错误,没有很多嘈杂,疯狂的级联错误,(2)编译器更强大,因为它不必尝试对语言的基本不变量被破坏的程序进行分析.当然,你的场景是不利的,你有五十个错误,你们全部修复,突然有五十个出现.
总结以上是内存溢出为你收集整理的C#编译器在每次编译时都不会一次报告所有错误?全部内容,希望文章能够帮你解决C#编译器在每次编译时都不会一次报告所有错误?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)