198 votos

Diferencia entre la reconstrucción y limpieza + construir en Visual Studio 2008

¿Cuál es la diferencia entre sólo una reconstrucción y hacer una limpia + construir en Visual Studio 2008? ¿Limpieza + construir diferentes entonces hace limpio + reconstruir?

197voto

earl Puntos 10428

Reconstruir = Limpia + Build

Notables detalles:

  1. Para una solución de varios proyectos, "volver a generar solución" hace una "limpia" seguido por un "build" para cada proyecto (posiblemente en paralelo). Mientras que una "solución limpia", seguida por "generar solución" primero se limpia todos los proyectos (posiblemente en paralelo) y, a continuación, genera todos los proyectos (posiblemente en paralelo). Esta diferencia en la secuencia de los eventos puede ser significativa cuando inter-dependencias del proyecto entran en juego.

  2. Todas las tres medidas corresponden a los objetivos de MSBuild. Para que un proyecto puede anular la acción de Reconstrucción para hacer algo completamente diferente.

132voto

JaredPar Puntos 333733

Earl es correcto que el 99% del tiempo Reconstruir = Limpio + Construir.

Pero no son garantizados para ser iguales. Las 3 acciones (reconstruir, construir, limpiar) representan diferentes objetivos de MSBuild. Cada uno de los cuales puede ser anulada por el archivo de cualquier proyecto personalizado acciones. Por lo que es totalmente posible que a alguien para reemplazar la reconstrucción de hacer varias acciones antes de iniciar un proceso limpio + crear (o eliminar por completo).

Mucho caso de esquina, pero apuntando a cabo debido a comentar los debates.

33voto

Trout.Z Puntos 316

1 Por proyecto, del proyecto de Reconstrucción = (Limpieza del proyecto + proyecto de Construir).

2 Por Solución, Reconstruir Sln = foreach (proyecto de Limpieza del proyecto + proyecto de Construir) != Limpia Sln + Construir Sln

Dicen que usted tiene un ganglio centinela, contiene proj1, proj2, y proj3.

Reconstruir Sln = (Limpio proj1 -> Build Proj1) + (Limpiar proj2 -> Build Proj2) + (Limpiar proj3 -> Build Proj3)

Limpia Sln + Construir Sln = (Limpio proj1 + Limpia proj2 + Limpia proj3) -> (Construir proj1 + Construir proj2 + Construir proj3)

-> medios de serie, + significa simultáneas

así que hay una oportunidad al enviar un montón de cambios en el código, mientras no configurada en el proyecto en las dependencias correctamente, Reconstruir Sln haría que algunos de ustedes proj enlace a un rancio lib porque todo se basa no están garantizados por estar limpia.(En este caso, Limpie Sln + Construir Sln le dará un enlace de error, y hacerle saber que, de inmediato, en lugar de darles una aplicación con un comportamiento extraño)

12voto

Eduardo Mello Puntos 520

De http://www.cs.tufts.edu/r/graphics/resources/vs_getting_started/vs_getting_started.htm (justo buscado en google):

Construir significa compilar y enlazar la fuente de los archivos que han cambiado desde la última generación, mientras que la Reconstrucción de los medios de compilación y enlace a todos los archivos de origen, independientemente de si ha cambiado o no. Construir es la cosa normal y es más rápido. A veces las versiones de proyecto de componentes de destino puede salir de la sincronización y de la reconstrucción es necesaria para poder construir con éxito. En la práctica, usted nunca tendrá que Limpiar.

Construir o Reconstruir Solución construye o reconstruye todos los proyectos en los que su solución, mientras que Construir o Reconstruir construye o reconstruye el Inicio del proyecto, "hola" en la captura de pantalla de arriba. Para establecer el proyecto de Inicio, haga clic en el nombre del proyecto en la pestaña del Explorador de soluciones y seleccione Establecer como proyecto de Inicio. El nombre del proyecto que ahora aparece en negrita. Desde la tarea soluciones suelen tener más de un proyecto, Construir o Reconstruir Solución es efectivamente el mismo que Construir o Reconstruir .

Compilar sólo compila el archivo fuente que está siendo editado. Útil para comprobar rápidamente los errores cuando el resto de los archivos de origen están en un estado incompleto, lo que impediría un éxito de la construcción de todo el proyecto. Ctrl-F7 es la tecla de acceso directo para Compilar.

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X