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:
<dependentAssembly> <assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/> <bindingRedirect oldVersion="0.0.0.0-18.104.22.168" newVersion="22.214.171.124"/> </dependentAssembly>
Now any developer can open the solution *without* some silly M$ workaround.