2009-12-24 10 views
8

Según tengo entendido, Rebuild = Clean + Build. ¿Cuáles son las razones más probables para ofrecer 'Solución limpia' como una opción separada, ya que la reconstrucción hace lo mismo? Lo pensé un poco, y la única razón por la que pude pensar es que algunas soluciones pueden ser bastante grandes y puede llevar mucho tiempo hacer una limpieza Y una reconstrucción, pero si haces una limpieza, tendrías que (re) construir de todos modos, ¿verdad? Gracias y felices fiestas a todos.Escenarios para la opción 'Solución limpia' de Visual Studio

+2

buena pregunta; Una cosa a tener en cuenta a partir de las respuestas: muchas de las respuestas suponen que los archivos de temperatura/salida están en el mismo directorio, o en un subdirectorio, donde residen el proyecto y la fuente. Si bien este es el comportamiento predeterminado en VS, creo que es mejor construir en un directorio dedicado fuera del árbol de código fuente: mantiene el árbol libre de archivos no agrios, no hay entradas falsas en sourcecontrol, no hay directorios de depuración/liberación en todo el lugar, y puede eliminar todo el material generado por el compilador con un solo clic. – stijn

+0

@stijn: Gracias por los comentarios y la sugerencia. Puedo ver el valor de "llamar la atención" en términos de cómo se define el objetivo de generación de salida. Saludos, Phil. –

+0

http://stackoverflow.com/questions/1247457/difference-between-rebuild-and-clean-build-in-visual-studio-2008 – n611x007

Respuesta

9

solución limpia es como msbuild /t:clean y make clean, por lo que es útil en las mismas situaciones.

  • Su compilación está un poco rota, de modo que un archivo generado se coloca en un directorio común. Cuando cambia las configuraciones, primero limpia la configuración anterior y luego crea la nueva.

  • que desea enviar a alguien una copia de su solución

  • Usted no tiene control de origen, pero que desea checkpoint su solución antes de continuar

  • Usted está modificando los archivos de proyecto con la mano y quiere asegurarse de que funcionen correctamente

  • Creó una nueva solución, trabajó en ella por un día y ahora está lista para ponerla en control de fuente. Antes de "agregar todos los archivos", desea eliminar los archivos generados.

  • Tiene poco espacio en disco y desea descartar archivos innecesarios. Supongamos que tiene un SSD pequeño y varias soluciones grandes, o si desea cambiar las configuraciones.

+0

Gracias por su respuesta, y gracias también a Eduardo Scoz, Jason Williams y Kevin y por sus comentarios, lo agradezco. Saludos, Phil. –

3

sólo podía llegar a uno :(

Si desea comprimir el directorio de la solución, y no quiero para incluir todos los archivos temporales/binarios compilados/etc?

5

tengo utiliza varias veces para limpiar un nuevo proyecto antes de comprometerse a un repositorio (sVN, o TFS).

2

Limpio se deshace de todos los archivos de objetos, por lo que:

  • se puede limpiar y luego copiar los archivos del proyecto sin los ficheros objeto que se incluye en su copia (aunque limpias pueden dejar algún compilador -generó archivos alrededor).
  • puedes crear un lanzamiento ocasionalmente (por ejemplo, una vez al mes) y luego limpiarlo para eliminar el desorden en tu proyecto hasta la próxima vez que necesites construirlo.
  • Puede hacer una limpieza y luego construir y hacer algo más entre
  • Puede hacer una limpieza cuando quiere asegurarse rápidamente de que la próxima compilación será una reconstrucción completa, pero cuando no desea comenzar la compilación ahora (p. ej.limpie el proyecto antes de irse a casa para asegurarse de que no se olvide de hacer una reconstrucción en la mañana cuando comience a trabajar)
  • Puede limpiar múltiples proyectos (bibliotecas, etc.) antes de volver atrás y construirlos, para que pueda sepa que tiene una construcción realmente limpia, en lugar de varias reconstrucciones que pueden haberse visto afectadas por basura vieja que estaba escondida en una biblioteca a la que se hace referencia (bien, esta está agarrada a pajas, siempre y cuando reconstruya las dependencias antes que los dependientes) 't importa :-)

dicho esto, limpia no es realmente útil muy a menudo - especialmente porque el espacio libre en disco se hace cada vez más grande, las presiones de otros tiempos (por ejemplo, mantener su proyecto en un disquete y hacer suficiente espacio disponible para continuar trabajando) ya no son relevantes .

Cuestiones relacionadas