title: How to get the PDB file for mscorlib.ni.lib (.Net Framework 3.5)
body: <p>After doing a lot of search, I still couldn't get the solution for the question.</p>
  
  <p>I have a mdmp file. The call stack shows it is using mscorlib.ni.dll. So to get the function information, I need to get its pdb file.</p>
  
  <p>The version of mscorlib.ni.dll is 2.0.50727.3655.
  I believe it comes from .Net Framework 3.5.  </p>
  
  <p>Since mscorlib.ni.dll is the native optimized dll which is generated by ngen.exe, so I need to use ngen.exe createpdb to generate pdf for this dll.</p>
  
  <pre><code>ngen.exe createpdb "C:\Windows\assembly\...\mscorlib.ni.dll" "C:\SymbolCache"
  </code></pre>
  
  <p>Here is the result:</p>
  
  <ol>
  <li>I can't find ngen.exe in folder "C:\Windows\Microsoft.NET\Framework64\v3.5"</li>
  <li>I could find ngen.exe in folder "C:\Windows\Microsoft.NET\Framework64\v2", but it does not have createpdb option.</li>
  <li>I could find ngen.exe in folder "C:\Windows\Microsoft.NET\Framework64\v4.0.30319" and it does support createpdb option, but it reports error.</li>
  </ol>
  
  <blockquote>
    <p>Microsoft (R) CLR Native Image Generator - Version 4.0.30319.18408
    Copyright (c) Microsoft Corporation.  All rights reserved. Invalid
    header found in native image
    'C:\Windows\assembly\NativeImages_v2.0.507
    7_64\mscorlib\5cd1c2848ff40eb0a8c149706ee394fa\mscorlib.ni.dll'.
    Unspecified error (Exception from HRESULT: 0x80004005 (E_FAIL))</p>
  </blockquote>
  
  <p>So I have no idea how to get the pdb for this mscorlib.ni.dll of Net Framework 3.5.</p>
  
  <p>Any idea?</p>