Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is there a way to diff two .NET executables?

We recently had a developer leave our organization. We're not sure if the version of an executable he put on a production server is the same that is currently in TFS. Is there any way (besides using something like Just Compile or ILDASM) to build the project from TFS and compare that executable to the one currently on our production server?

UPDATE: I'm trying out Just Decompile, and I've loaded both binaries, so I'm stepping through each namespace, member, etc to compare them against each other. I'm used to using Schema Compare in Visual Studio to compare the schemas of 2 databases and seeing the updated, removed and added items with the differences highlighted. Isn't there some tool that would take these 2 decompiled binaries and somehow highlight the differences?

like image 998
Christopher Garcia Avatar asked Jul 09 '12 23:07

Christopher Garcia


1 Answers

Right now I can only think of this approach:

  1. Use dotPeek to decompile the live assembly
  2. Use dotPeek to decompile the same assembly freshly built from TFS
  3. Use a tool like Beyond Compare on the two decompiled sources
  4. Merge the changes as necessary

Hope this is what you were looking for??

Other reading that may be beneficial for the future in terms of versioning so you know what dll contains what functionality (may or may not be useful for you, forgive me if I am telling you something obvious):

Best practices/guidance for maintaining assembly version numbers

Good luck

like image 181
Mr. Mr. Avatar answered Oct 10 '22 12:10

Mr. Mr.