I have 2 dlls ('original' and 'new') and for one method the IL is very different inside these 2 dlls (not talking about the nop alone but lot of differences). But when I decompile these two dlls then the C# produced is exactly same for these two.
Why it is happening? Is it OK and valid scenario? Can I assume the functionality is same based on decompiled C# code (though the IL are lot different)?
Other Info:
- Visual Studio 2008 (3.5).
- Method contains long chain of switch...case statements.
- I can not modify the 'original' dll (c# code) but I can modify the C# code of 'new' dll to regenerate the dll and compare again.
- IL sample is very big otherwise I could have pasted here.
I am unable to find a way to make the IL of 'new' dll (by modifying the C# code) exact same as 'original' dll. Any suggestion to achieve this?