title: Reference Collections.Immutable in visual studio extension
body: <p>I have a visual studio extension (for VS 2017) that uses Roslyn in some functions and references <code>System.Collections.Immutable, Version=1.2.2.0</code>. When I first ran it, it would complain that it didn't have a reference to the <code>System.Collections.Immutable</code> assembly, so I added it the assets in the <code>source.extensions.vsixmanifest</code> (along with <code>Microsoft.CodeAnalysis.CSharp.dll</code> and <code>Microsoft.CodeAnalysis.dll</code> as it happens).</p>
  
  <p>This fixed my problem with the missing assembly, but now I get:</p>
  
  <blockquote>
    <p>Method not found: 'System.Collections.Immutable.ImmutableArray`1 Microsoft.CodeAnalysis.Scripting.Script.Compile(System.Threading.CancellationToken)'.</p>
  </blockquote>
  
  <p>I believe it might still be referencing a different version of <code>System.Collections.Immutable</code>, while debugging the extension, if I try this:</p>
  
  <p><code>System.Reflection.Assembly.GetAssembly(typeof(System.Collections.Immutable.ImmutableArray))</code></p>
  
  <p>I get:</p>
  
  <blockquote>
    <p>error CS0433: The type 'ImmutableArray' exists in both 'System.Collections.Immutable, Version=1.2.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' and 'System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'</p>
  </blockquote>
  
  <p>Is there a way to resolve this within the extension? (things like <code>.config</code> assembly redirects don't really work well unless you edit Visual Studio's own <code>.config</code>, which I 'd prefer to avoid)</p>