Microsoft.Bcl generally considered harmful

I’ve found the best way to avoid┬áthe problems with the Microsoft BCL Portability Pack, which I had in an ASP.NET MVC 4 project, was to get rid of it.

Remove all System.Net.Http and System.Net.Http.* references then use NuGet to remove the BCL Portability Pack. Use NuGet to install an earlier version of System.Net.Http that doesn’t rely on BCL:

Install-Package Microsoft.Net.Http -Version 2.0.20710.0

Then update the web.config:

  <assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
  <bindingRedirect oldVersion="" newVersion=""/>

Now any developer can open the solution *without* some silly M$ workaround.