¿Cómo comparar 2 versiones de un ensamblado .NET compilado para ver los cambios entre las 2 versiones? Tengo una biblioteca no bien documentada y necesito saber qué se ha cambiado entre la versión anterior y la nueva.¿Comparar 2 versiones de un ensamblado .NET?
Respuesta
La herramienta NDepend ofrece muchas características para manejar .NET code diff. Descargo de responsabilidad: soy uno de los desarrolladores de la herramienta.
El panel Buscar por cambio está dedicado a examinar el código del ensamblado diff. Tenga en cuenta que:
- Se puede conectar a cualquier herramienta NDepend código diff utilizado por el menú Comparar versión más antigua y más reciente del archivo de fuente
- Si no tiene el código fuente, sólo las asambleas primas, existe la opción Comparar mayor y más reciente versión desmontada con reflector
Nótese también en la captura de pantalla que se genera un CQLinq code query para explorar el diff.
from m in Application.Methods
where m.CodeWasChanged()
select new { m, m.NbLinesOfCode }
Muchas otras consultas por defecto y reglas diff son propuestos por defecto, que permite visionar código .NET diff de una manera inteligente.
- Types that used to be 100% covered but not anymore
- API Breaking Changes: Methods
- Avoid making complex methods even more complex
- Avoid decreasing code coverage by tests of types
- From now, all types added or refactored should respect basic quality principles
- Avoid transforming an immutable type into a mutable one
- Heuristic to find types moved from one namespace or assembly to another
Use Red Gate's .NET reflector
y podrá ver los cambios de código reales entre los ensamblajes.
Uso el reflector, con el complemento Diff.
Este artículo de Hanselman también puede ser útil, ya que analiza otras herramientas, entre las que se incluyen Reflector Diff.
http://www.hanselman.com/blog/ManagingChangeWithNETAssemblyDiffTools.aspx
Además de reflector, puede utilizar NDepend para realizar esta tarea. Tenga en cuenta que este es un software comercial, pero el sitio ofrece una versión de prueba gratuita. Aquí hay un online tutorial sobre cómo se puede usar NDepend para comparar dos conjuntos.
¿Tiene el código o solo los ensamblajes? En caso de que tenga las versiones compiladas, una forma es profundizar en ellas utilizando el buscador de objetos en Visual Studio. El otro enfoque podría estar usando desensamblador como Red Gates Reflector para ver el código fuente.
- 1. Comparar dos versiones de un procedimiento almacenado
- 2. Comparar versiones como cadenas
- 3. La mejor manera de comparar 2 documentos XML en .NET
- 4. Obteniendo la fecha de un ensamblado .NET
- 5. Comparar 2 JSON objetos
- 6. Comparar cadenas de versiones en groovy
- 7. ¿Cómo registrar un ensamblado .NET como COM?
- 8. ¿Resolviendo una referencia de ensamblado .NET a un nombre diferente?
- 9. Cómo comparar las versiones del paquete Debian
- 10. Cómo comparar 2 objetivos Xcode
- 11. Cómo comparar 2 cadenas alfabéticamente
- 12. ¿Cómo incrustar un archivo de texto en un ensamblado .NET?
- 13. .NET versiones demonios
- 14. Comprobando si un archivo es un ensamblado .NET
- 15. ¿Restrinja el acceso al ensamblado de .NET?
- 16. ¿Cómo comparar versiones de algunos productos en unix ksh shell?
- 17. Configuración del cumplimiento de CLS para un ensamblado .NET
- 18. ¿Hay algún problema con NO firmar un ensamblado de .NET?
- 19. Extrayendo un ensamblado .NET de SQL Server 2005
- 20. .net 4 confía parcialmente en un ensamblado de GAC
- 21. Cambiar la versión de ensamblaje en un ensamblado .NET compilado
- 22. Incorporar recursos de forma programada en un ensamblado .NET
- 23. Prioridades de carga del ensamblado .NET
- 24. Utilizando concurrentemente 2 versiones de boost
- 25. .NET: carga dos versiones de la misma DLL
- 26. Cargando un ensamblado para .NET 4.5 en un dominio de aplicación .NET 4.0
- 27. ¿Cómo comparar versiones de software usando SQL Server?
- 28. ¿Puedes mezclar versiones de .NET framework en una solución?
- 29. cómo puedo comparar 2 funciones en javascript
- 30. ¿Es posible desactivar la reflexión desde un ensamblado .NET?
¿Tiene el código fuente? Es este controlador de versión de código fuente?Siempre es más fácil trabajar con código fuente en lugar de ensamblados compilados. –
No, no tengo el código fuente, parece que NDepend hará el truco. – user433731