title: Why does roslyn give warning CS8002 instead of error CS1577 for unsigned references?
body: <p>I'm working on a little project in VS2015 for the company I work for, and as a company policy, all assemblies we produce must be signed.</p>
  
  <p>I found a little odd behavior when I added a dependency to a nuget package that contained an unsigned assembly. When building the project with <a href="/questions/tagged/vs2015" class="post-tag" title="show questions tagged &#39;vs2015&#39;" rel="tag">vs2015</a>, I get the warning:</p>
  
  <blockquote>
    <p>CSC : warning CS8002: Referenced assembly 'XXX, Version=A.B.C.D, Culture=neutral, PublicKeyToken=null' does not have a strong name.</p>
  </blockquote>
  
  <p>That seemed strange when I first saw it, because I remembered that it didn't compile in VS2013 or earlier. In fact, I get the following error when building the same project in <a href="/questions/tagged/vs2013" class="post-tag" title="show questions tagged &#39;vs2013&#39;" rel="tag">vs2013</a>:</p>
  
  <blockquote>
    <p>CSC : error CS1577: Assembly generation failed -- Referenced assembly 'XXX' does not have a strong name.</p>
  </blockquote>
  
  <p>I thought that maybe something had changed in the runtime, and this was now supported. I couldn't be more wrong. When running my code built with warnings in VS2015, I now get a runtime error. The exact exception I get is a <code>FileLoadException</code> with message </p>
  
  <blockquote>
    <p>Could not load file or assembly 'XXX, Version=A.B.C.D, Culture=neutral, PublicKeyToken=null' or one of its dependencies. A strongly-named assembly is required. (Exception from HRESULT: 0x80131044)</p>
  </blockquote>
  
  <p>I'm aware that there are some nuget packages out there that sign any unsigned dependency before build (like <a href="https://www.nuget.org/packages/Nivot.StrongNaming/" rel="nofollow">this one</a>, or <a href="https://www.nuget.org/packages/Brutal.Dev.StrongNameSigner/" rel="nofollow">this other</a>, or <a href="https://www.nuget.org/packages/StrongNamer/" rel="nofollow">this last one</a>). </p>
  
  <p>My questions here are: Is there any way that referencing an unsigned assembly from a signed one could work, and I'm missing something? If not, why then this is now a compiler warning, if it's going to give a runtime error later?</p>
  
  <p>Thanks in advance</p>