2008-10-21 15 views

Respuesta

108

Elimina todos los archivos compilados y temporales asociados con una solución. Asegura que la próxima compilación sea completa, en lugar de solo los archivos modificados que se vuelven a compilar.

+3

Entonces, ¿cuál es la diferencia entre "Crear" y "Reconstruir todo?" – ChadD

+2

Imagine una solución con 3 proyectos.Build solo compila los proyectos que han cambiado, desde la última compilación. Reconstruye, compila todo. – BigJump

+18

¿Rebuild Solution es esencialmente lo mismo que ejecutar Clean Solution y luego Build Solution? –

4

Borra los archivos creados durante el proceso de compilación. Efectivamente fuerza una compilación/compilación completa la próxima vez.

61

Elimina todos los códigos de objeto generados durante la compilación/compilación previa. Elimina todos por debajo de tipo de archivos: -

* .obj - objeto de código

* .pdb - programa de archivo de depuración DATABSE

* .bsc - fuente del navegador DATABSE

* .ilk - incremental de archivo enlazador

* .sbr - fuente explorador de archivos intermedia

* .idb - reconstruir fichero de dependencias

* .lib - archivo de biblioteca

* .exe - ejecutable

JFYI - Incluso un comando Regenerar todos va a hacer todo esto y luego pasar a construir el conjunto completo de archivos de origen.

-AD

5

Ésta es una entrada antigua, pero yo pensaba que esto era digno de mención. Al codificar Silverlight, usualmente tengo Blend y VS2010 abiertos al mismo tiempo. Debido a eso, a veces VS2010 se asusta y IntelliSense no puede encontrar dónde está o algo así, lo que resulta en que resalta falsamente una gran cantidad de errores.

La limpieza de la solución corrige esto.

2

cuidado al limpiar una solución; cuando limpia una solución y si hace referencia a una biblioteca (por ejemplo, nhibernate) en su proyecto y si esa biblioteca tiene una dependencia (digamos iesi.collections), verá que iesi.collections se eliminarán incluso si reconstruye el archivo. solución y tienes que poner esa dll en tu carpeta, de nuevo. o también puede hacer referencia a iesi.collections y elegir la opción copy-local: yes de sus propiedades

+5

Esto no debería ser un problema si mueves todas tus libs a una carpeta específica que no sea 'Bin' y/o utilizas NuGet – bbqchickenrobot

+0

seguro que no, pero usualmente está ubicado con la carpeta bin (puede intentar obtener fluentnhibernate vía nuget y iesi.collections no está allí) – ersanbilik

0

Para su información, ni Clean ni Rebuild eliminarán archivos que no sean de compilación, por ejemplo, archivos copiados durante un comando previo a la compilación. ¡Estaba confundido acerca de eso!

11

Yo quería que fuera un comentario, pero al parecer necesito 50 rep.

Para advertir a los demás, la solución de reconstrucción no me limpia. A menudo no tendré que limpiarlo y compilarlo/reconstruirlo para que funcione, creo que la reconstrucción lo fuerza a una compilación completa sin limpiar y anula todo, pero no se deshace de los extras.

No examiné lo que reconstruye el código sabio, solo una observación general en caso de que alguien más tenga el mismo problema.

+2

Estoy de acuerdo con esta afirmación: he visto este comportamiento muchas veces donde se requiere una limpieza antes de una reconstrucción – Swordblaster

Cuestiones relacionadas