未能加载文件或程序集“Microsoft.Threading.Tasks, Version=1.0.12.0”

在添加 StackExchange.Redis 1.2.1.0 到项目的时候,编译没有问题,一运行就报错,

未能加载文件或程序集“Microsoft.Threading.Tasks, Version=1.0.12.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”或它的某一个依赖项。系统找不到指定的文件。

连不上Redis,经长时间搜索尝试,发现是没有引用Bcl引起的,Nuget 引用 Microsoft.Bcl.Async 1.0.168 后问题解决。
项目是.NET Framework4的,具体处理方法:
1、Nuget 引用 Microsoft.Bcl.Async 1.0.168;
2、App.config或Web.config 加入runtime 节点

<configuration>
    <runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
            <dependentAssembly>
                <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
                <bindingRedirect oldVersion="0.0.0.0-2.6.10.0" newVersion="2.6.10.0" />
            </dependentAssembly>
            <dependentAssembly>
                <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
                <bindingRedirect oldVersion="0.0.0.0-2.6.10.0" newVersion="2.6.10.0" />
            </dependentAssembly>
            <dependentAssembly>
                <assemblyIdentity name="ICSharpCode.SharpZipLib" publicKeyToken="1b03e6acf1164f73" culture="neutral" />
                <bindingRedirect oldVersion="0.0.0.0-0.85.4.369" newVersion="0.85.4.369" />
            </dependentAssembly>
        </assemblyBinding>
    </runtime>
</configuration>
RedisMicrosoft.Threading.Tasks

我来吐槽

*

*