Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

dotpeek showing code from different version

I had the weirdest thing with the dotpeek product.

I've opened an old dll version from a local folder and saw in the dotpeek some code that was added to a newer version. after about a day of investigation the disassemble showed me the older code.

can someone explain to me how it can be done and how to avoid it in the future. the only explanation that I could think of is that the newer version was loaded to the GAC (global assembly cache).

anyone encountered this issue and knows how to solve it?

like image 997
silver Avatar asked Oct 29 '22 20:10

silver


1 Answers

There is an option to "Use debug information for navigation". If set, dotPeek will try to use the source file information from .pdb files, and display the actual source for the class, instead of decompiling. It might be that dotPeek is showing the source file, but the file has changed since the .dll was last compiled. Clearing this checkbox means dotPeek will always decompile.

There's an issue (DOTP-7375) raised to use better wording for the option, so it's obvious what dotPeek is doing. And I've just raised another issue (DOTP-7376) to make sure that dotPeek also verifies the source file's checksum with the one in the .pdb so that it doesn't show out-of-date/newer source files.

like image 73
citizenmatt Avatar answered Nov 15 '22 06:11

citizenmatt