He tenido la intención de escribir un artículo de blog sobre esto.
Es posible que simplemente esté corriendo un límite codificado para la cantidad de errores informados. También es posible que te encuentres con un escenario más sutil e interesante.
Hay una gran cantidad de heurísticas en el compilador de línea de comandos y el compilador IDE que intentan administrar el informe de errores. Tanto para mantenerlo manejable para el usuario como para hacer que el compilador sea más robusto.
En pocas palabras, la forma en que funciona el compilador es que trata de obtener el programa a través de una serie de etapas, que se puede leer aquí:
http://blogs.msdn.com/b/ericlippert/archive/2010/02/04/how-many-passes.aspx
La idea es que si una etapa temprana obtiene una error, es posible que no podamos completar con éxito una etapa posterior sin (1) entrar en un ciclo infinito, (2) bloqueos o (3) informar errores en cascada "enloquecidos". Entonces, lo que sucede es que obtienes un error, lo arreglas y de repente se puede ejecutar la siguiente etapa de compilación, y encuentra un montón más de errores.
Básicamente, si el programa está tan desordenado que ni siquiera podemos verificar hechos básicos sobre sus clases y métodos, entonces no podemos dar errores confiables para cuerpos de métodos. Si no podemos analizar un cuerpo lambda, entonces no podemos dar errores confiables para su conversión a un árbol de expresiones. Y así; hay muchas situaciones en las que las etapas posteriores necesitan saber que las etapas previas se completaron sin errores.
El lado positivo de este diseño es que (1) primero se obtienen los errores que son los más "fundamentales", sin muchos ruidos cascadas, y (2) el compilador es más robusto porque no lo hace No debe intentar hacer análisis en programas donde las invariantes básicas del lenguaje están rotas. El lado negativo es, por supuesto, su escenario: que tiene cincuenta errores, los arregla a todos, y de repente aparecen cincuenta más.
A menudo, corregir algunos errores pone en foco otros errores. No es fácil decir que un automóvil tiene un problema de bajo consumo de combustible * hasta que * solucione el problema del indicador de combustible averiado. – Ani
@Ani: Gracias, sé a qué te refieres, pero la mayoría de los errores son errores de sintaxis en diferentes archivos y la mayoría de ellos son ignorados por el archivo de lo que puedo decir. –
Quizás la pregunta más importante es ¿por qué tienes más de 400 errores? – abelenky