.net - texto - ¿Herramienta para comparar.dlls y desmontar las diferencias?
programa para comparar archivos y carpetas (6)
¿Alguien sabe una herramienta decente que comparará dos versiones diferentes de la misma dll y extraiga las diferencias?
Gracias
¿Por qué no desmontar primero y luego comparar?
El equipo de Microsoft BCL tiene una herramienta para hacer esto, se llama LibCheck y se puede encontrar aquí
http://blogs.msdn.com/b/bclteam/archive/2005/03/21/400123.aspx
Esta es una herramienta antigua, y tuve que volver a compilar la fuente utilizando una versión posterior del tiempo de ejecución, pero funciona bien y proporciona informes html sobre los cambios.
El reflector tiene una herramienta de Diff . Nota: Reflector ahora es software pagado.
También se puede usar dotPeek de JetBrains. También es gratis.
- Abra el ensamblaje en dotPeek
- Seleccione el montaje
- Archivo -> Exportar a proyecto
- Elija una ubicación en el disco
Repita lo anterior para el ensamblaje que desea comparar, luego abra las dos carpetas en una herramienta de diferencias. Utilicé WinMerge .
Notarás que la gran mayoría de los archivos tienen diferencias. Esto se debe a que los archivos tienen un comentario en la parte superior como este
// MVID: {some guid here}
Puedes crear un filtro en WinMerge para ignorarlo
- Herramientas -> Filtrar ...
- Ir a la pestaña "Filtros de línea"
- Agregue el siguiente filtro
^// MVID:
Cuando acepte los cambios, volverá a explorar las carpetas e ignorará cualquier línea que comience con ese comentario. Ahora deberías ver solo los cambios que te interesan.
Use .NET Reflector (la versión gratuita es todo lo que necesita) para abrir las DLL, luego haga clic con el botón derecho y elija exportarlas a directorios separados.
Luego use ExamDiff Pro para comparar los directorios (puede obtener una prueba gratuita de 30 días). Puede navegar a través de las subcarpetas y abrir cada archivo según sea necesario en una nueva ventana de Comparación (Simplemente haga doble clic en la ventana de ExamDiff Pro). Funciona impresionante
ExamDiff Pro también tiene un complemento Dump PE32 que hará una comparación directamente entre los archivos .dll y .exe. Esto es útil para observar los cambios de encabezado y marca las diferencias binarias, pero no lo descompilará por usted (así que use el método Reflector anterior).