關於用微軟實時推送SignalR的相關bug
常見錯誤一
未能載入檔案或程式集“Microsoft.Owin”或它的某一個依賴項。找到的程式集清單定義與程式集引用不匹配。 (異常來自 HRESULT:0x80131040)
具體錯誤如下圖:
解決方案:
1、常看bin目錄下有沒有對應的檔案:例如Microsoft.Owin.dll檔案是否存在;
2、如果檔案存在,再檢視其相關的引用檔案在不在;例如本錯誤的相關引用檔案是Owin.dll;
3、如果引用檔案都存在還報這個錯誤;檢視一下web.config檔案中是否將dll的資訊配置錯誤。
本錯誤對應web.config配置的是
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.1.0.0" newVersion="2.1.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin.Security" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.0.1.0" newVersion="2.0.1.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
但是檢視Microsoft.Owin.dll檔案發現其Microsoft.Owin, Version 2.0.1.0;所以版本號資訊是錯誤。
將web.config對應的dll資訊更改正確即可。
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.0.1.0" newVersion="2.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin.Security" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.0.1.0" newVersion="2.0.1.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
常見問題二
待更新中……