Existe-t-il de bons programmes à comparer pour compiler des assemblys .NET?
Par exemple, j'ai HelloWorld.dll (1.0.0.0) et HelloWorld.dll (2.0.0.0), et je veux comparer les différences, comment puis-je faire cela?
Je sais que je peux utiliser .NET Reflector et utiliser le plugin Assembly Diff. Existe-t-il d'autres bons outils pour le faire?
façons de comparer les assemblages .NET suggère
Commercial:
Libre:
Deux manières.
Vous pouvez ILDASM et diff avec des outils classiques.
Ou vous pouvez utiliser NDepends, qui coûtera pour cette fonctionnalité.
[Morceau aux ballonnements C # ..]
J'ai juste eu à comparer deux révisions de la même DLL, qui avait la même version (j'avais besoin d'implémenter un petit correctif et de déployer le DLL en production, mais je voulais m'assurer qu'aucun idéalement, je voudrais que le complément Assemby Diff me montre la différence, mais cela ne fonctionne pas (il pense que je compare un DLL à lui-même) Voici donc ce que j'ai fait:
C'est un peu maladroit, mais semble fonctionner. Je souhaite cependant que le complément Assembly Diff fonctionne.
MISE À JOUR: La dernière version du complément Assembly Diff est censée résoudre le problème de la comparaison de deux versions du même assembly. Essaie.
L'outil NDepend offre de nombreuses fonctionnalités pour gérer le code diff .NET. Avis de non-responsabilité: je suis l'un des développeurs de l'outil.
Le panneau Recherche par changement est dédié à parcourir les codes de code des assemblys. Remarquerez que:
Notez également dans la capture d'écran qu'un requête de code CQLinq est généré pour parcourir le diff.
from m in Application.Methods
where m.CodeWasChanged()
select new { m, m.NbLinesOfCode }
De nombreuses autres requêtes et règles de diff par défaut sont proposées par défaut, ce qui vous permettra de parcourir le code .NET différemment de manière intelligente.
Une autre option est LibCheck de Microsoft.
Assez ancien outil de console pour obtenir simplement un diff d'API public. Je ne pouvais pas courir sans débogage et reciblage vers une version .net plus récente. Cependant, cela m'a donné une sortie très claire et je vais l'utiliser plus tard.
Voici un article avec des captures d'écran.