Frage

Kennt jemand ein ordentliches Werkzeug, das zwei verschiedene Versionen der gleichen DLL vergleicht und die Unterschiede extrahieren?

Dank

War es hilfreich?

Lösung

Reflektor hat ein Diff Tool. Hinweis:. Reflektor ist jetzt bezahlte Software

Andere Tipps

dotPeek von JetBrains auch verwendet werden können. Es ist auch kostenlos.

  • Öffnen Sie die Montage bis in dotPeek
  • Wählen Sie die Baugruppe
  • Datei -> Export zu projizieren
  • Wählen Sie einen Speicherort auf der Festplatte

Wiederholen Sie die oben für die Montage Sie, öffnen Sie dann die beiden Ordner in einem Diff-Tool vergleichen möchten. Ich benutzen WinMerge .

Sie werden feststellen, dass die überwiegende Mehrheit der Dateien Unterschiede. Dies liegt daran, dass die Dateien einen Kommentar an der Spitze wie diese

// MVID: {some guid here}

Sie können einen Filter in WinMerge erstellen, es zu ignorieren

  • Werkzeuge -> Filter ...
  • Goto die "Leitungsfilter" Registerkarte
  • Fügen Sie den folgenden Filter ^// MVID:

Wenn Sie in Ordnung die Änderungen, wird es die Ordner erneut scannen und jede Zeile ignorieren, die mit diesem Kommentar beginnt. Nun sollten Sie nur die Änderungen sehen Sie Interesse an.

Warum das Zerlegen und dann vergleichen?

Verwenden Sie .NET Reflector (Free-Version ist alles, was Sie brauchen ), um die DLLs zu öffnen dann mit der rechten Maustaste und wählen sie sie exportieren Verzeichnisse zu trennen.

Dann benutzen ExamDiff Pro die Verzeichnisse zu vergleichen (Sie können eine 30-Tage kostenlose Testversion erhalten ). Sie können durch die Unter-Ordner navigieren und jede Datei nach Bedarf in ein neues Vergleichsfenster öffnen (Doppelklicken Sie einfach im ExamDiff Pro Fenster). Funktioniert super!

ExamDiff Pro hat auch eine Dump PE32-Plugin, das einen Vergleich direkt zwischen DLL und EXE-Dateien tun wird. Dies ist hilfreich, auf Kopf Änderungen zu suchen und Fahnen binäre Unterschiede, aber es wird nicht für Sie dekompilieren (so die Reflektor-Methode verwenden, oben).

Das Microsoft BCL-Team hat ein Werkzeug, um dies zu tun, ist es LibCheck genannt und kann hier gefunden werden

http://blogs.msdn.com/ b / bclteam / Archiv / 2005/03/21 / 400123.aspx

Dies ist ein altes Werkzeug, und ich hatte die Quelle mit einer späteren Version der Laufzeit neu zu kompilieren, aber es funktioniert gut und HTML-Berichte über Änderungen geben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top