title: What is a CLR header in .net applications?
body: <p>While using the ildasm.exe tool for disassembling other .Net applications, I came across the following line.   </p>
  
  <blockquote>
    <p>program.exe has not valid CLR Header and cannot be disassembled </p>
  </blockquote>
  
  <p>But when I tried to disassemble my code, it didn't show any error, and disassembled the code easily.  </p>
  
  <p>As a result I am curious about what is a CLR Header and what can be the advantages/disadvantages of having a valid CLR Header for your assembly?    </p>
  
  <p>Can anybody please answer the above questions?</p>
  
  <p>I checked the msdn, but couldn't find much information on the topic.</p>