Laden...

Assemblies binär auf Veränderungen vergleichen exklusive Versionsnummern und Timestamps

Erstellt von MrHiggins vor 12 Jahren Letzter Beitrag vor 12 Jahren 1.976 Views
M
MrHiggins Themenstarter:in
29 Beiträge seit 2011
vor 12 Jahren
Assemblies binär auf Veränderungen vergleichen exklusive Versionsnummern und Timestamps

Hallo erstmal!
Für ein Projekt ist es notwendig Assemblies aus 2 Versionen dahingehend zu vergleichen ob sich etwas verändert hat, dabei aber Timestamps und Versionsnummern die Visual Studio beim Kompilieren generiert auszulassen.
Gibt es ein Kommandozeilentool welches das bewerkstelligt? Oder gibt es eine Möglichkeit bzw. einen "Bauplan" einer Assembly nach der ich in C# mittels Bytestreamvergleich die entsprechenden Stellen aussparen kann?

MFG Mr. Higgins

6.911 Beiträge seit 2009
vor 12 Jahren

Hallo MrHiggins, willkommen im Forum,

dieses Vorgehen ist aber sehr unorthodox, denn gerade die Version ist dafür gedacht und existiert überhaupt nur deshalb. Warum willst du diese nicht verwenden?

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

M
MrHiggins Themenstarter:in
29 Beiträge seit 2011
vor 12 Jahren

Weil die kompletten Projekte neu kompiliert werden und sich somit versionsnummern ändern obwohl sich inhaltlich nichts geändert hat. Der Weg steht auch erstmal nicht zur Debatte, ist eben nun meine Aufgabe das zu bewerkstelligen dass es so funktioniert:-)

6.911 Beiträge seit 2009
vor 12 Jahren

Hallo MrHiggins,

LibCheck kann das genauso wie das Reflector - Diff-AddIn. Kommerziell gibts http://www.ndepend.com/.

Weil die kompletten Projekte neu kompiliert werden und sich somit versionsnummern ändern obwohl sich inhaltlich nichts geändert hat

Das kann ja auch anders eingestellt werden.

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

M
MrHiggins Themenstarter:in
29 Beiträge seit 2011
vor 12 Jahren

Das libcheck hatte ich getestet. So wie ich das verstanden habe stellt libcheck lediglich Unterschiede in den Schnittstellen fest, aber nicht ob sich jetzt wirklich im Code was geändert hat. Zumindest hatte mir libcheck bei 2 versionen die defintiv verändert wurden keine ergebnisse geliefert.
Ich glaube libcheck vergleicht nur die infos die ich auch über ildasm(?) bekomme.

Ich habe eben diese Aufgabe bekommen und ging davon aus es hat seinen Grund wieso man das nicht über die versionsnummer machen kann. Es gehtum Updatepackages für Kunden.

1.361 Beiträge seit 2007
vor 12 Jahren

Ich glaube libcheck vergleicht nur die infos die ich auch über ildasm(?) bekomme.

Sofern es sich um managed Code handelt, kann dir ildasm _alles _geben. Alles was noetig ist um eine kompletten Roundtrip (ildasm -> ilasm) durchzufuehren.

beste gruesse
zommi

F
10.010 Beiträge seit 2004
vor 12 Jahren

Es gehtum Updatepackages für Kunden.

Da hat das jetzt schon deutlich mehr gekostet als ihr für z.b. Visual Patch – Binary Software Patch Maker ausgegeben hättet.

Das erstellt reine binäre Patches vom Startpunkt bis zur letzten Versionen.
Da kann man dann evtl auch noch das LogFile auslesen um genaueres zu haben.

M
MrHiggins Themenstarter:in
29 Beiträge seit 2011
vor 12 Jahren

geht aber net darum ob es sowas schon gibt als kostende Software, sondern darum dass ichs entwickeln soll:-)

49.485 Beiträge seit 2005
vor 12 Jahren

Hallo MrHiggins,

um FZelle mal die Arbeit abzunehmen: Not-Invented-Here-Syndrom.

Davon abgesehen, wenn du es selber programmieren sollst, dann tus doch. 😃 Schau dir an, worin sich zwei Assemblies unterscheiden, deren Code gleich ist und klammere diese Stelle aus. Da wird man schnell ein Muster finden. Das ist doch nun wirklich eine sehr überschaubare Aufgabe.

herbivore

U
1.688 Beiträge seit 2007
vor 12 Jahren

Hallo,

einen "Bauplan" einer Assembly nach der ich in C# mittels Bytestreamvergleich die entsprechenden Stellen aussparen kann?

Google-Suche nach .NET assembly structure

Hilfreich könnte auch die Explorer Suite sein.