2010-11-28 30 views
5

Tengo muchos proyectos de C# (Visual Studio 2008) y algunos de ellos están actualizando el ensamblado incluso cuando no ha habido cambios (incluso cuando elijo Build y no Rebuild). La mayoría de mis proyectos no hacen esto, son solo unos pocos.¿Por qué mis proyectos se crean cuando no hay cambios?

Aún no he encontrado ninguna diferencia entre los proyectos y me pregunto si alguien tenía alguna idea de lo que podría estar influyendo en ella. Para que quede claro, no hice ningún cambio en el código antes de compilarlo, pero el ensamblaje aún se está recreando cuando ejecuto el comando Generar dentro de Visual Studio.

Lo siento, no puedo proporcionar más detalles, pero háganmelo saber si hay algo más que pueda verificar que pueda arrojar algo de luz.

¿Alguien puede ayudar? Me he estado arrancando los pelos por un tiempo en esto.

Gracias, Alan

Respuesta

1

No llegué al fondo de esta y terminé reconstruyendo uno de los proyectos. Resultó que todo provenía de este único proyecto que siempre se estaba reconstruyendo.

Creo que tiene algo que ver con los recursos integrados que se reconstruyen cada vez.

Lo siento, no tengo una respuesta definitiva sobre este. Gracias a RobV también por la información útil.

Alan

+0

Siempre acepto la respuesta que me indicó el camino correcto, incluso si no es una respuesta 100% precisa. Luego edito mi pregunta para incluir información que descubrí yo mismo (con la ayuda de la respuesta) – jgauffin

+0

OK, lo consideraré en el futuro. Me di cuenta de que había dejado colgado y quería cerrar el ciclo antes de volver a olvidarlo ... –

+0

¡Gracias! Esto me ayudó ... cinco años después :) – Frode

4

Hay algo llamado dependencias del proyecto.

Cuando uno de tus proyectos depende de uno o más proyectos y lo construyes, los otros proyectos de los que dependen tus proyectos también comenzarán a construirse (si es necesario). Además, si las dependencias han cambiado, los proyectos que dependen de ellas siempre se reconstruirán.

Puede hacer clic con el botón derecho en Solución y seleccionar Orden de compilación del proyecto para que aparezca una ventana que explica el orden en que se crean los proyectos y las dependencias para cada proyecto.

+1

¿Incluso si no han cambiado desde su última compilación? –

+0

¡sí! puede cambiar si compilarlos o no en el administrador de configuración. –

7

respuesta realidad borrado ahora Hans-me señaló a la dirección correcta. Arrancando la verbosidad de MSBuild a diagnóstico me dijo que VS consideraba que un proyecto siempre estaba desactualizado porque un archivo tenía "Copiar en el directorio de salida" en "Copiar siempre". Y los otros proyectos siguieron de eso porque dependían de ese proyecto y notaron que el DLL recién creado era más nuevo que uno de sus propios archivos de salida.

Cambiando "Copiar al directorio de salida" a "Copiar si es nuevo" se resolvió eso.

+0

Este era el problema exacto que estaba viendo en mi solución: un proyecto tenía un archivo de configuración que se configuró como "copiar siempre", lo que provocó que cada proyecto dependiente se reconstruyera. ¡cada vez! – benjymous

Cuestiones relacionadas