在搞在线聊天室的时候用到了SignalR 1.1.4,依赖于Newtonsoft.Json 4.5.0.0。
而我另外的dll又依赖Newtonsoft.Json 6.0.0.0
我只引用6.0.0.0的时候提示找不到4.5.0.0的dll,
搜了一下用bindingredirect ,但是搞半天还是报同样的错误,后面发现是配置写错了。
错误的配置:
<dependentAssembly> <assemblyIdentity name="Newtonsoft.Json" PublicKeyToken="30ad4fe6b2a6aeed" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" /> </dependentAssembly>
正确的配置:
<dependentAssembly> <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" /> </dependentAssembly>
万能的vs编译器木有告诉我,我哪里写错了。
搜这里知道的:http://stackoverflow.com/questions/3490327/assembly-binding-redirect-does-not-work