valido - ¿Diferencia entre la solución de compilación, la solución de reconstrucción y la solución limpia en Visual Studio?
visual studio code (12)
¿Cuál es la diferencia entre Build Solution, Rebuild Solution y Clean Solution en Visual Studio?
¿Cuándo es el momento apropiado para usar cada uno de estos?
La única cosa importante que creo que la gente está dejando de lado es que Build y Clean son tareas que se realizan según el conocimiento de Visual Studio de su Proyecto / Solución. Veo muchas quejas de que Clean no funciona o deja archivos que sobran o que no son confiables, cuando en realidad, las razones por las que dices que no son confiables lo hacen más confiable.
Limpiar solo eliminará (limpiar) los archivos y / o directorios que, de hecho, crearon Visual Studio o el compilador. Si copia sus propios archivos o las estructuras de carpetas / archivos se crean desde una herramienta o fuente externa, Visual Studio no "sabe que existen" y, por lo tanto, no debe tocarlos.
¿Te imaginas si la operación de limpieza básicamente realiza un "del *. *"? Esto podría ser catastrófico.
Construir realiza una compilación en proyectos modificados o necesarios.
Rebuild realiza una compilación sin importar el cambio o lo que sea necesario.
Limpiar elimina los archivos / carpetas que ha creado en el pasado, pero deja todo lo que no tiene nada que ver con, inicialmente.
Espero que esto se elabore un poco y ayude.
La solución de compilación construirá cualquier proyecto en la solución que haya cambiado. Rebuild genera todos los proyectos sin importar qué, la solución limpia elimina todos los archivos temporales y garantiza que la siguiente compilación esté completa.
La solución de compilación solo construye aquellos proyectos que han cambiado en la solución y no afecta los ensamblajes que no han cambiado.
ReBuild primero limpia, todos los ensamblajes de la solución y luego construye una solución completa sin importar los cambios realizados.
Limpiar, simplemente limpia la solución.
Solo pienso en Reconstruir como realizando la limpieza primero y luego la compilación. Quizás me equivoque ... ¿comentarios?
Solución de compilación: Compila los archivos de código (DLL y EXE) que se modifican.
Reconstruir: borra todos los archivos compilados y los compila de nuevo independientemente de si el código ha cambiado o no.
Solución limpia: borra todos los archivos compilados (archivo DLL y EXE).
Puede ver este video de YouTube ( Visual Studio Build vs. Rebuild vs. Clean (preguntas de la entrevista con respuestas de C #) ) donde he demostrado las diferencias y a continuación hay representaciones visuales que lo ayudarán a analizar el mismo con más detalle.
La diferencia entre Rebuild vs. (Clean + Build), porque parece haber cierta confusión en torno a esto también:
La diferencia es la forma en que ocurre la secuencia de construcción y limpieza para cada proyecto. Digamos que su solución tiene dos proyectos, "proj1" y "proj2". Si realiza una reconstrucción, tomará "proj1", limpie (elimine) los archivos compilados para "proj1" y compílelos. Después de eso, tomará el segundo proyecto "proj2", limpie los archivos compilados para "proj2" y compile "proj2".
Pero si hace un "limpio" y construye ", primero eliminará todos los archivos compilados para" proj1 "y" proj2 "y luego construirá" proj1 "primero seguido de" proj2 ".
Todo lo que sé es que Clean no hace lo que "make clean" solía hacer: si Limpio una solución, esperaría que eliminara los archivos / carpetas obj y bin de tal manera que se compilara como si fuera una comprobación nueva de la fuente. En mi experiencia, aunque a menudo encuentro momentos en que Clean and Build o Rebuild todavía produce errores extraños en la fuente que se sabe que compilan y lo que se requiere es una eliminación manual de las carpetas bin / obj, luego se construirá.
Tomado de este enlace :
La compilación significa compilar y vincular solo los archivos de origen que han cambiado desde la última compilación, mientras que Reconstruir significa compilar y vincular todos los archivos de origen, independientemente de si han cambiado o no. Construir es lo normal y es más rápido. A veces, las versiones de los componentes de destino del proyecto pueden desincronizarse y reconstruirse es necesario para que la compilación sea exitosa. En la práctica, nunca necesitas limpiar.
Build Solution : construye cualquier ensamblaje que haya cambiado los archivos. Si un ensamblaje no tiene cambios, no será reconstruido. Tampoco se borrarán los archivos intermedios.
Se utiliza más comúnmente.
Solución de reconstrucción: reconstruye todos los ensamblajes independientemente de los cambios, pero deja archivos intermedios.
Se usa cuando observa que Visual Studio no incorporó sus cambios en el último ensamblaje. A veces Visual Studio comete errores.
Solución limpia : elimine todos los archivos intermedios y reconstruya todos los ensamblajes independientemente de los cambios
Se usa cuando todo lo demás falla y necesitas limpiar todo y comenzar de nuevo.
Build Solution : construye cualquier ensamblaje que haya cambiado los archivos. Si un ensamblaje no tiene cambios, no será reconstruido. Tampoco se borrarán los archivos intermedios.
La solución de reconstrucción limpiará y luego la construirá desde cero, ignorando todo lo que se hizo antes
Solución limpia eliminará todos los archivos compilados (es decir, EXE y DLL) del directorio bin / obj.
Construir solución
Esto realizará una construcción incremental. En otras palabras, solo construirá archivos de código que hayan cambiado. Si no han cambiado esos archivos no serán tocados.
Reconstruir solucion
Esto eliminará todos los archivos compilados actualmente (es decir, exe y DLL) y compilará todo desde cero, independientemente de si hay un cambio de código en el archivo o no.
Menú de solución limpia
Este menú eliminará todos los archivos compilados (es decir, EXE y DLL) del directorio bin / obj.
Reconstruir = Limpiar + Construir
Solución de compilación: la solución de compilación construirá su aplicación con la construcción de la cantidad de proyectos que tienen cambios de archivo. Y no borra ningún archivo binario existente y simplemente reemplaza los conjuntos actualizados en la carpeta bin u obj.
Solución de reconstrucción: la solución de reconstrucción construirá su aplicación completa con la creación de todos los proyectos que están disponibles en su solución con su limpieza. Antes de construirlo, borra todos los archivos binarios de las carpetas bin y obj.
Solución limpia: la solución limpia simplemente borra todos los archivos binarios de la carpeta bin y obj.
- La solución de compilación realizará una compilación incremental: si no cree que necesite reconstruir un proyecto, no lo hará. También puede usar partes del proyecto parcialmente construidas si no han cambiado (no sé qué tan lejos lleva esto)
- Reconstruir la solución se limpiará y luego la construirá desde cero, ignorando cualquier cosa que haya hecho antes. La diferencia entre esto y "Limpiar, seguido de Generar" es que Rebuild limpiará y construirá cada proyecto, uno a la vez, en lugar de limpiar todos y luego construir todos.
- La solución limpia eliminará los artefactos de compilación de la compilación anterior. Si hay otros archivos en los directorios de destino de compilación (bin y obj), es posible que no se eliminen, pero sí los artefactos de compilación reales. He visto que el comportamiento para esto varía, algunas veces borrando bastante bien y otras no, pero le daré a VS el beneficio de la duda por el momento :)
(Los enlaces son a los interruptores de la línea de comandos devenv.exe , pero hacen lo mismo que los elementos del menú).