title: Spurious mscorlib of wrong version showing up in dll build
body: <p>I am building a Cpp/Clr dll with .NET Framework 2.0.  Builds fine.  However, when I create an Example program to use the dll, also with 2.0, I get this error:</p>
  
  <p>The primary reference "C:\...\MemBuffDll.dll" could not be resolved because it has an indirect dependency on the .NET Framework assembly "mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" which has a higher version "4.0.0.0" than the version "2.0.0.0" in the current target framework.</p>
  
  <p>I have very carefully rebuild the entire solution (not too hard, only two projects in it) and made sure I used only cut and paste of code from one file to another in the re-creation.  I as <strong>VERY</strong> careful to make sure I specified the 2.0 Framework.</p>
  
  <p>When I exclude the Example Solution, everything builds fine.  When I reload it, I get the above message.  So, I searched in the contents of every file in the entire solution and found the reference in both the .dll and in a file ending with .metagen.  The metagen lines of interest are:</p>
  
  <pre><code>ImageRuntimeVersion: v4.0.30319
  Assembly MemBuffDll, Version=0.0.*, Culture=Invariant Language (Invariant Country): 
      hash=SHA1, flags=PublicKey
  Assembly mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089: 
      hash=None, flags=None
  Assembly mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089: 
      hash=None, flags=None
  Assembly System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089: 
      hash=None, flags=None
  </code></pre>
  
  <p>Why are the two lines with 4.0.0.0 in there?  This is supposed to be a 2.0 build.</p>
  
  <p>Really puzzled,
  -greenhorn greg</p>