Reputation: 1773
I'm trying to get SignalR working in an MVC5 project with individual accounts.
The MVC project has by default Owin 2.0.0 and all of the Owin.* components are also 2.0.0.
So I used NuGet to get all the SignalR packages, it automatically resolved dependancies and downloaded v 2.0.2.
The project throws an error on startup with the following message:
Could not load file or assembly 'Microsoft.Owin, Version=2.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'
I also tried upgrading Owin to 2.1.0 but that didn't help either.
Has anyone faced the same problem and what was the solution?
Upvotes: 29
Views: 21933
Reputation: 3500
In my case when I hosted my WCF service that has SignalR functionality in IIS and when I go to my IIS manager and to my application where I hosted my service right click svc
file and click Browse
, I was getting this error. So I did the following
In my Visual Studio, Tools -> Library Package Manager -> Package Manager Console
I made sure I selected my Website project that hosted my WCF service and gave below two commands one after another
uninstall-package Microsoft.AspNet.SignalR
install-package Microsoft.AspNet.SignalR
After this I just re-build my solution. Went to IIS manager and to my application where I hosted my service right click svc
file and click Browse
, I was able to see my service running in IE.
Upvotes: 1
Reputation: 4935
You can update this references to the lastest version I found (now is 2.1.0):
Install-Package Microsoft.Owin -Version 2.1.0
Install-Package Microsoft.Owin.Security -Version 2.1.0
And make sure your Web.config have these binding redirects for version 2.1.0:
<configuration>
<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.1.0.0" newVersion="2.1.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
Or you can update this references to version 2.0.1:
Install-Package Microsoft.Owin -Version 2.0.1
Install-Package Microsoft.Owin.Security -Version 2.0.1
And make sure your Web.config have these binding redirects for version 2.0.1:
<configuration>
<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>
</configuration>
Upvotes: 49
Reputation: 8295
Perhaps you need a binding redirect in your .config
<configuration>
<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.2.0" newVersion="2.0.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin.Security" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.0.2.0" newVersion="2.0.2.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
Upvotes: 3