14

Tenemos una solución VS.Net con 20 proyectos en ella.Se ha producido un error de generación desconocido, 'Excepción del tipo' System.OutOfMemoryException '

Ocasionalmente, en VS.NET, cuando tratamos de construir/depuración nuestra solución, conseguimos error siguiente:

error de generación desconocida, 'excepción de tipo '' se System.OutOfMemoryException

La única forma de "solucionar" este problema es volver a abrir Visual Studio y luego la compilación de la solución va bien, pero de nuevo después de un tiempo la excepción de OutOfMemory ocurre nuevamente. Es realmente molesto reabrir Visual Studio un par de veces al día, ¿conoces alguna solución para este problema?

+1

1 Tengo el mismo problema y nunca han sido capaces de rastrearlo. No es solo en la construcción, tampoco; Lo he tenido al abrir un diseñador de formularios después de que VS estuvo abierto un tiempo. El cierre y la reapertura VS solucionan el problema el 100% del tiempo y, al menos, el Administrador de tareas cree que queda mucha memoria. –

+0

¿Está utilizando ReSharper u otros complementos? Intente desactivarlos con Tools-> Add-in Manager, solo para ver si son parte del problema.Además, ¿esto sucede si solo estás haciendo compilaciones en repetidas ocasiones, sin depuración ni pruebas de unidad? –

+0

Estoy usando ReSharper, esperando la próxima OutOfMemoryException e intentaré desactivarlo para ver qué sucederá. Gracias – m1k4

Respuesta

2

De acuerdo con lo que recomienda Microsoft, no es una buena idea tener muchos proyectos en una sola solución.

Echa un vistazo a este enlace http://support.microsoft.com/kb/949755.

Pero la solución sugerida en el artículo no es algo que se use directamente, debido a los costos de refactorización del código involucrados.

Ha intentado crear la solución desde fuera del IDE. (Algo así como MSBUILD). Eso podría ayudar.

+0

No separamos nuestro código en pocas soluciones por la razón que usted indicó: refactorización La construcción fuera de IDE funciona bien, el único problema es VS.NET compilación – m1k4

2

Tengo el mismo problema si uso ReSharper y ejecuto varios UnitTests (con CodeCoverage habilitado).

También asumo que este es un problema de ReSharper. Y dado que lo digo mientras ejecuto Unittest, la Excepción nunca vuelve a aparecer.

BTW - Desactivarlo cuando la excepción arroja (como se menciona en los comentarios anteriores) no ayuda, porque deshabilitarlo mientras se ejecuta VS no lo descargará de la memoria. La única forma de forzar la descarga es eliminar todos los AppDomains que han cargado la DLL. En un escenario VS Paquete esto significa que tiene que derribar todo el proceso VS :(

+0

Supongo que tiene razón. Apagué ReSharper, reinicié VS y estoy esperando unas horas para ver si volverá a suceder. Si no, obtienes +1 :) y veré qué hacer luego con ReSharper:/ – m1k4

2

o simplemente puede minimizar Visual Studio para aproximadamente 10 segundos (consulte en el administrador de tareas cómo se reduce el uso de memoria de devenv.exe cuando se minimiza). Esto funciona para mí en la mayoría de los casos. Raramente tengo que cerrar VS para deshacerme de este error.

Cuestiones relacionadas