title: What install files in location - Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5
body: <p>Please bear with me on this, I will try to explain as clearly as I can.</p>
  
  <p>I started a new project (class library) which targets 4.5 and not the client profile 4.5.</p>
  
  <p>I added a reference "System.Runtime.Serialization" and the properties indicates it's in location "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.5\System.Runtime.Serialization.dll"</p>
  
  <p>On my pc it compiles fine with a build script using msbuild.</p>
  
  <p>On the buildserver which uses team city - it complains </p>
  
  <blockquote>
    <p>error CS0012: The type 'System.Object' is defined in an assembly that
    is not referenced. You must add a reference to assembly
    'System.Runtime, Version=4.0.0.0, Culture=neutral,
    PublicKeyToken=b03f5f7f11d50a3a'</p>
  </blockquote>
  
  <p>The buildserver has the full .net framework installed - "dotnetfx45_full_x86_x64.exe"</p>
  
  <p>The only time it will build is if I copy my version of "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.5" to the target machine.</p>
  
  <p>I have checked using this link and .net 4.5 is installed - <a href="http://myspworld.wordpress.com/2012/10/18/how-to-check-if-net-4-5-is-installed-on-a-server/" rel="noreferrer">http://myspworld.wordpress.com/2012/10/18/how-to-check-if-net-4-5-is-installed-on-a-server/</a></p>
  
  <p>I am asking two question:
   1. How does this get installed?
   2. If it does find it in this location surely it should look in the GAC?</p>
  
  <p>Will appreciate any help on this.</p>