¿Qué herramientas están disponibles para determinar qué ensamblados de .NET han cambiado desde la última compilation?

Con un sitio / solución .NET enormemente grande (cientos de ensamblajes), ¿hay herramientas disponibles para reconocer qué ensamblajes han cambiado desde la última compilation (utilizando algo más inteligente que las dates de file que siempre cambiarán)?

Necesito cambiar nuestro process de implementación para a) incrementar la versión de los sets modificados yb) generar una versión delta para include estos sets modificados.

Mi enfoque actual para nuestro website ASP.NET y los serveres Biztalk es volver a implementar la solución completa después de una compilation; esto puede llevar hasta 3 horas (la mayor parte del time se invierte en desinstalar y volver a implementar las aplicaciones BizTalk).

Microsoft recomienda que versionemos nuestros ensamblajes y que solo implementemos los ensamblados que han cambiado para networkingucir nuestra window de implementación. Me gustaría automatizar esto tanto como sea posible.

Actualmente estamos usando MSBuild, TFS y buenas personas "pasadas de moda" para administrar nuestro process de construcción.

Eche un vistazo a NDepend . Creo que puede usarlo para generar reportes de ese tipo de cosas y usarlas como inputs para su process de implementación

Una de las excelentes características de trazabilidad en Team Build es cómo rastrea los sets de cambios, así como los elementos de trabajo asociados a los sets de cambios de una versión a otra.

Usamos estos resúmenes de compilation para ayudarnos a generar nuestras notas de lanzamiento entre versiones. Usamos una definición de compilation que ejecutamos manualmente cuando estamos listos para implementar una versión validada, donde la última vez que se ejecutó la compilation fue la date en que implementamos la versión validada anterior. Esto actualiza todos los cambios entre esas dos dates de compilation y nos proporciona un informe completo para generar las notas de la versión.