spell - Visual Studio se cuelga constantemente durante la compilación
vscode beautiful (11)
Probablemente, entre el 25 y el 50% de las veces que construyo mi solución, veo esto:
" La operación solicitada tarda más de lo esperado en completarse. Este diálogo se cerrará cuando la acción finalice " .
Odio esta ventana en formas que no puedo describir. Nunca se resuelve, el botón Cancelar nunca está habilitado, y la única forma de remediarlo es matar el proceso devenido y volver a cargar toda mi solución, sabiendo muy bien que no he arreglado nada y estoy igualmente obligado a ver el Lo mismo cuando intento mi compilación.
Mi solución es aproximadamente 60 proyectos en total, que en su mayoría son bibliotecas de clase C #, con algunas aplicaciones web, aplicaciones web y aplicaciones de consola. Sin embargo, el problema persiste incluso cuando se crea una porción de la base de código con la mayoría (50) de los proyectos sin descargar.
Mi problema es que las ventanas de salida no me dicen nada en el punto en que se congela, y no sé cómo más determinar la causa de este bloqueo. Si tuviera que adivinar, asumiría que es un punto muerto en el sistema de archivos o algo así, pero no sé cómo probarlo, y mucho menos cómo prevenirlo.
¿Qué puedo hacer para diagnosticar y eliminar esto de mi solución para que nunca vuelva a verlo? En general, ¿cómo puedo diagnosticar problemas que ocurren durante una compilación?
Además de la respuesta de felickz que resuelve (o casi resuelve) este problema para las compilaciones:
Excepto el problema durante una compilación, también tuve un problema con la consola de administración de paquetes. Tardó aproximadamente un minuto en esperarlo. Usando el procmon encontré que la carpeta del repositorio NuGet se analizaba cada vez que se abría esta ventana (¡muy inteligente, Microsoft!). Había alrededor de 1000 paquetes en esta carpeta. Después de eliminar todo de la carpeta de arriba, el problema de rendimiento cambió.
Tenga en cuenta que mi respuesta se refiere a VS 2015 (y puede estar abajo). No probé, pero sospecho que en VS 2017 debería estar bien.
En mi caso, la configuración de "número máximo de construcciones de proyectos paralelas" a 1 me ayudó (es decir, crear un proyecto desde un estado limpio causa un congelamiento de 1 min seguido de una compilación normal y cada compilación posterior funciona bien).
La configuración mencionada anteriormente se puede configurar en Tool -> Options -> Projects and Solutions -> Build and Run
.
He encontrado que Visual Studio depende mucho de la construcción de proyectos más grandes. Resulta que fue ReSharper. Después de que lo desactivé: Herramientas -> Opciones -> ReSharper -> Suspender ahora, todo está bien sin problemas (incluso en soluciones muy grandes, más de 100 proyectos)
He visto esto suceder en proyectos grandes cuando MSBuild se ejecuta con el interruptor de diagnóstico encendido. En Visual Studio, vaya a Herramientas / Opciones / Proyectos y soluciones / Construir y ejecutar, luego verifique el valor de verbosidad de la versión del proyecto MSBuild. Si no está configurado en Mínimo, intente configurar al mínimo y vea si sus compilaciones pueden completarse.
Hubo una sugerencia en Microsoft Connect que el proyecto Modeling fue responsable de las congelaciones. Eliminé un proyecto de Modelado de nuestra solución y no he experimentado ninguna congelación desde entonces (alrededor de una semana).
Moví mi plataforma de desarrollo VS 2008 de Windows 7 a Windows 10 y encontré una situación en la que Visual Studio colgaba cada vez que intentaba construir un gran proyecto. Tuve que construir el proyecto, luego usar el Administrador de tareas para matar VS y luego reiniciar. No hace falta decir que esto hizo que la depuración sea realmente difícil. De todos modos, el problema era que al pasar a Win 10, VS ya no se ejecutaba como administrador (y tal vez Win 10 es más particular acerca de los privilegios). Cambiar las propiedades para que el programa se ejecutara como administrador resolvió el problema. (IngoB: no tengo suficiente estado para comentar tu publicación, ¡pero gracias por señalar esto!)
Para mí fue algo relacionado con la instalación del paquete npm que se ejecutó automáticamente. Fui a Herramientas> Opciones> Proyecto y soluciones> Herramientas web externas y desactivé todas las herramientas externas y reinicié VS. Después de eso, pude construirlo de nuevo. Sé que necesito que se revisen, pero necesito descubrir qué los está provocando y qué está mal con este archivo de solución.
Para mí, el problema era que era una extensión que ejecuta automáticamente plantillas T4 en compilación (AutoT4). Deshabilitarlo cuando se trabaja con soluciones con EF solucionó el problema.
Parece que ejecutar Visual Studio como administrador resolvió el problema para mí. (Para ejecutar siempre un programa como administrador, vea Cómo ejecutar Visual Studio como administrador de forma predeterminada )
Solo prueba debajo del comando con el modo admin. Antes de ejecutar este comando, asegúrese de cerrar todas las instancias de VS.
devenv /resetuserdata
Nota: devenv se encuentra en C: / Archivos de programa (x86) / Microsoft Visual Studio 14.0 / Common7 / IDE
Tenía un problema similar, VS se bloqueaba durante aproximadamente 45 segundos y luego se generaba durante 4 segundos y se completaba. Los 45 segundos de suspensión no producirán ningún resultado en la GUI y VS se bloqueará.
Usando ProcMon pude ver más de 3 millones de operaciones de archivos en la carpeta / packages / a través de devenv.exe cuando construiría este proyecto (y continuaría por algún tiempo después). En los primeros pasos de la compilación, puede ver que estaba revisando CADA PAQUETE para ver si era necesario restaurar el paquete (no fue así)
Dado que tiendo a culpar a NuGet por todo, desactivé Nuget Package Restore "permitir que NuGet descargue paquetes perdidos" en Visual Studio -> Opciones -> Nuget Package Manager -> General . Para mi deleite, la construcción fue muy rápida. 5 segundos en total!
Resulta que teníamos habilitar la restauración del paquete en la compilación habilitada (creo que esto está activado por defecto ahora en VS) Y también teníamos los paquetes controlados en el control de código fuente. Parece que esto hace que TFS se agite de alguna manera ... la comprobación de la restauración del paquete debe hacer que TFS realice algunas comprobaciones de la operación de control de origen.
FYI esto fue VS2013 ACTUALIZACIÓN 4 - Nuget versión: 2.8.50926.663 .. en un sln con NumberOfProjects = 38, pero podría volver a crear este cuelgue creando solo un csproj con 2 dependencias.
Actualizar:
Localhost "Rebuild All" en Sln con SccNumberOfProjects = 53 tomaba 7:05 con 2 minutos de estudio visual congelado / insensible
- hasta 4:14 en un i5 de 2 núcleos sin congelación
- hasta 2:44 en un i7 de 4 núcleos
Además: esto fue en una máquina con varias herramientas de seguridad de vigilante de archivos, probablemente sin agregarle velocidad a todo este proceso ... y posiblemente a la culpa.