title: C# type defined in an assembly that is not referenced
body: <p>I have two projects A and B.  Project A makes use of type X in project B, so I have a reference to B added in A.  Everything built fine.</p>
  
  <p>I signed project B using a strong named key file.  Everything still built fine.</p>
  
  <p>Then I decided to change the strong named key file for B.  I rebuilt project B ok.  When I try to build project A I receive the error "Error 1 The type X is defined in an assembly that is not referenced. You must add a reference to assembly B, Version=1.0.0.0, Culture=neutral, PublicKeyToken=95b41b0d6571627b'. "</p>
  
  <p>So I deleted the reference in project A and added it back in again, no joy.  I can dbl click on the project B reference in project A, open the object browser and see type X in there ok.  I also fully qualified the type X objects in A and the intellisense picked them up fine but it still does not build.  </p>
  
  <p>I thought that changing the key file I might need to up the revision, so I changed assembly B version to 2.0.0.0 but still A complains that it needs version 1.0.0.0. Looking at the properties of the B reference in A it definitely points to the correct version and indeed it shows as 2.0.0.0</p>
  
  <p>I could live with using the existing key file but i'd like to understand where I am going wrong if possible.</p>