title: Why are not all assemblies in GAC built as MSIL?
body: <p>What is the reason that not all of the assemblies in the Global Assembly Cache (GAC) are built as <code>MSIL</code>?  I see <code>x86</code> and <code>AMD64</code> architecture types used for some assemblies, as in the example below, but not for others:</p>
  
  <p><code>C:\Windows\assembly\</code></p>
  
  <p><img src="https://i.stack.imgur.com/pY0An.jpg" alt="enter image description here"></p>
  
  <p>Why is <code>System.Data</code> built for two different processor architectures, while <code>System.Core</code> is <code>MSIL</code>?</p>
  
  <p><code>C:\Windows\Microsoft.NET\assembly</code></p>
  
  <p><img src="https://i.stack.imgur.com/XQge1.jpg" alt="enter image description here"></p>
  
  <p>A similar pattern can be seen under the second version of GAC, shown above.  Assemblies are split into different architectures, but not all of them are built into <code>32/64</code> versions -- some are just <code>MSIL</code>.</p>