Is managed DLL binary compatible?

This is in continuation of the error discussed in my earlier blog .

While working with this error I accidently clicked on my main application without rebuilding and it worked although I had done changes to my referenced DLL.

Does it mean compiled DLL are binary compatible?

Lets see how it works,

Below image show my code
  • Referenced DLL (you can see I’ve commented the overloaded API ) 

  • My test application code  

Now I build my exe and read the generated IL code in C# using reflector
Below are the images:

  • When overloaded API is commented 


  • When overloaded API is uncommented and my application is rebuilt. 


These images reveal that compiler intelligently creates the syntax (in IL) according to the best available function.

Pretty interesting stuff!!


Hello world!

Well this is the first blog entry and is more of a ‘ass’ saver. The view expressed in the blog is only my opinion and should not be related to any corporate or  institution in any way.

I’ll try to keep this blog updated with my new findings  but cannot make commitment to be purely technical.