Tengo una solución de Visual Studio que consta de unos 100 proyectos. La mayoría de ellos forma una jerarquía de dependencia. Ahora bien, si cambio un solo .cs para un proyecto y lo construyo, todos los proyectos dependientes se compilarán también, independientemente de si han sido modificados o no. ¿Hay alguna manera de que Visual Studio solo cree los proyectos modificados? Estoy perdiendo minutos cada vez que hago un pequeño cambio reconstruyendo todo. ¡Añade mucho tiempo!Disminuir el tiempo de compilación de Visual Studio
Respuesta
No, no hay una buena manera de hacerlo. A veces ocurre algo de incremental (Visual Studio 2010 o posterior), pero no hay garantías.
Compile los proyectos que están maduros en ensamblajes y haga referencia a ellos desde sus proyectos inestables (actualmente en desarrollo). Si está haciendo las pruebas unitarias correctas, esto no debería ser un gran problema. Divide y conquistaras; termine primero las dependencias y establézcalas estables, luego comprométalas a ensamblajes.
Reduce el número de proyectos.
Cada proyecto produce un DLL
- una unidad de despliegue. This is normally not needed.
Si necesita organizar su código lógicamente, puede usar carpetas dentro de un proyecto.
Además, en lugar de referencias de proyectos, haga referencia a las DLL creadas.
Por qué esta sugerencia funciona:
- Menos DLL se producen.
- Hay menos referencias a estos archivos DLL, por lo que es necesario copiar menos archivos DLL.
- Los proyectos a los que hacen referencia muchos otros proyectos se vuelven a compilar para cada proyecto de referencia. Si se utiliza una DLL en lugar de una referencia de proyecto, no se realizará una recompilación.
Esto solo hará que las compilaciones sean más lentas, ya que será necesario reconstruir el mismo código o más. – ssube
@peachykeen - Pruébalo. Usted se sorprenderá. Menos proyectos == menos DLL. Menos DLL == menos copiando alrededor y menos recompilaciones. – Oded
Tengo, tanto a menos proyectos grandes y más proyectos pequeños. No lo estaba, no ayuda cuando el problema es la cantidad de código que necesita reconstruirse. Las copias de archivos no son lo suficientemente caras como para causar este tipo de problema, son las compilaciones en cascada, que los proyectos más grandes no (siempre) escapan. – ssube
- 1. Visual Studio Estadísticas de compilación
- 2. ¿Configurando valores en tiempo de compilación en Visual Studio (C#)?
- 3. Compilación Qt - Visual Studio 2010
- 4. C# Compilación sin Visual Studio
- 5. ¿Hay alguna forma de mostrar el tiempo de compilación de una solución completa en Visual Studio?
- 6. Compilación de ensamblaje en Visual Studio
- 7. Agilice la compilación en Visual Studio 2005
- 8. ¿Puede Visual Studio poner marcas de tiempo en el registro de compilación?
- 9. Visual Studio no mostrando errores de compilación de tiempo en el editor
- 10. Visual Studio se cierra todo el tiempo
- 11. ¿Hay un Analizador de compilación de Visual Studio?
- 12. Cómo detener Visual Studio 2010 en el error de compilación
- 13. Visual Studio Tiempo de seguimiento Plugin
- 14. Visual Studio: ¿Varios comandos post-compilación?
- 15. Compilación cruzada Código ARM7 desde visual studio
- 16. Compilación JSONCPP con Visual Studio 2010
- 17. Visual Studio sigue ejecutando la compilación anterior
- 18. ¿Cómo detener una compilación en Visual Studio?
- 19. Studio 11 de error visual en tiempo de compilación usando std :: mapa
- 20. Cómo incrustar un archivo de manifiesto en tiempo de compilación en Visual Studio 2010
- 21. Detección de versiones del compilador durante el tiempo de compilación
- 22. Ejecutar una herramienta personalizada de Visual Studio en tiempo de compilación
- 23. imprime el tiempo de compilación de cada archivo en el estudio visual C++
- 24. Visual Studio (2005 y 2008) ¿Completó la alerta de compilación?
- 25. Regla de paso de compilación personalizada de Visual Studio?
- 26. Transformación T4 y orden de compilación en Visual Studio
- 27. ¿Dependencias de compilación de proyectos de Visual Studio sin referencias?
- 28. Problema de compilación de Visual Studio con "ReflectionOnlyAssemblyResolve event"
- 29. Visual Studio: información de depuración en la compilación de lanzamiento
- 30. ¿La compilación de depuración de Visual Studio contiene información personal?
Es lógico que tenga que reconstruir los proyectos dependientes, porque tiene que comprobar si no se rompió nada. No sé si tienes una SSD, pero para mí fue útil tener una SSD (tiempos de construcción significativamente más cortos). – Styxxy
Estoy bastante seguro de que los problemas que encontraría en la depuración harían que hacer eso fuera poco práctico. – Stuporman
Tener más de 100 proyectos en una solución y los cambios que se filtran en tiempos de compilación largos es un problema de diseño/organización. ¿En qué punto dejas de cambiar la base del castillo de naipes? ¿Seguramente tienes algo que debería costar menos 1000 puntos? No hay una cura fácil para él, de todos modos nada que se ajuste al sitio de Q + A de un programador. No puedo culpar a la herramienta tampoco, solo hace lo que le pides que haga. Traduce tu disgusto con ella en mensajes a los miembros de tu equipo y arquitectos. No podemos ayudar con eso, no estamos tan molestos como tú. –