Darkleo’s Blog
Ein Schatz, der seinen Besitzer überallhin begleitet.

Wie kann ich Unterschiede in zwei Framework DLL’s feststellen?

February 5th, 2008 by darkleo

Ich hatte ein Problem, dass auf einem System ein Interner Fehler des .NET Frameworks auftratt und auf dem anderen System nicht und müsste den Fehler analysieren.

Als Erstes habe ich binär versucht Unterschiede festzustellen. 95% Unterschschied in der System.Web.dll 2.0.5727.832 und 2.0.5727.1433.

Um genauer etwas zu sehen könnte man versuchen mit dem Reflector for .NET von Lutz Roeder reinschauen oder die DebugSourcen von Microsoft.
- Zwei Assemblys können beim Reflector nicht geladen werden und auch nicht verglichen werden
- Sourcen von .NET Frameworks von Microsoft zu finden und zu bekommen.

Lösungsansatz:
Ausführen
%comspec% /k ""C:\Programme\Microsoft Visual Studio 8\VC\vcvarsall.bat"" x86

ildasm System.Web.dll /OUT=System.Web.il
ildasm V832.System.Web.dll /OUT=V832.System.Web.il

Somit bekommen wir zwei Intermediate Language-Files die IL-Code enthalten und mit einem Tool wie KDiff lassen sich die Unterschiede schnell aufzeigen und untersuchen.
kdiff.jpg

Posted in .NET

Leave a Comment

Please note: Comment moderation is enabled and may delay your comment. There is no need to resubmit your comment.