Con proyectos pequeños, puedo cambiar a la vista de diseño casi al instante (< 1 seg).¿Qué podría estar causando que la vista de diseño sea tan lenta?
Tengo un proyecto grande que toma aproximadamente 60 segundos abrir un control o formulario en la vista de diseño, por primera vez solamente. Después de este retraso de 60 segundos, puedo abrir cualquier control en el proyecto en vista de diseño casi instantáneamente, hasta que recompilo el proyecto.
Si se hace referencia al archivo ejecutable generado por este proyecto en otro proyecto (pequeño), el proyecto pequeño instantáneamente se vuelve tan lento como el proyecto grande. De forma similar, si agrego todos los archivos del proyecto grande al proyecto pequeño individualmente, el proyecto pequeño se vuelve tan lento.
El proyecto grande hace referencia a un gran proyecto de C++ administrado, pero si agrego la misma referencia (y llamo una función desde la referencia para asegurarme de que esté cargada) al proyecto pequeño, el proyecto pequeño sigue siendo rápido.
Mi gran proyecto utiliza SandDock. Si mi pequeño proyecto usa SandDock, todavía es rápido.
Mi proyecto grande tiene alrededor de 60 controles de usuario que aparecen en la caja de herramientas. Si agrego 60 controles de usuario al proyecto pequeño, el proyecto pequeño sigue siendo rápido.
Si hago los controles de usuario ocultos desde la caja de herramientas con [System.ComponentModel.ToolboxItem (false)], el proyecto grande sigue siendo lento.
El problema ocurre tanto en vs2005 como en vs2008.
¿Qué podría hacer que el gran proyecto sea tan lento para abrir la vista de diseño por primera vez? Alguna otra referencia? La gran cantidad de controles? La gran cantidad de clases? Alguna otra causa?
Una cosa que he notado (aunque posiblemente sea una pista falsa) es que la carpeta ProjectAssemblies (C: \ Documents and Settings \ tim.gradwell \ Configuración local \ Application Data \ Microsoft \ VisualStudio \ 9.0 \ ProjectAssemblies) es enorme (> 1GB) y la mayoría de las carpetas aquí tienen una copia de mi dll Managed C++. Parece que estas carpetas se vuelven a crear cada vez que se vuelve a abrir la vista de diseño (después de una recompilación). ¿Podría esto tener algo que ver con la desaceleración?
más información:
A toolstrip en el control de usuario o forma hace que la forma Toma 60 segundos para cargar. La eliminación de la tira de herramientas (pero todavía tiene varios controles diferentes en el formulario) hace que el cambio a la vista de diseño sea instantáneo.
No es toda la historia ... Una tira de herramientas en un nuevo proyecto no causa una desaceleración masiva, por lo que debe haber algo en mi gran proyecto que afecte a las tiras de herramientas. Además, algunos otros formularios/controles que no tienen tooltrips en ellos todavía demoran 60 segundos para mostrar la vista de diseño, por lo tanto, lo que sea que afecte a las tiras de herramientas también está afectando a otros controles. Seguiré tratando de precisar qué controles e incluso qué es lo que está causando eso.
Solo por claridad: el proyecto grande que causa la desaceleración está en C#, ¿correcto? – overslacked
El proyecto está escrito en C# ... también hace referencia a un proyecto administrado de C++, pero no he tenido tiempo de intentar aislar el proyecto C++ administrado para ver si eso marcaba la diferencia ... –