SignalR 2.0 error: Could not load file or assembly Microsoft.Owin.Security

I’m following this tutorial step by step

http://www.asp.net/signalr/overview/signalr-20/getting-started-with-signalr-20/tutorial-signalr-20-self-host

And I’m getting an exception on the line marked below

        string url = "http://localhost:8080";
        using (WebApp.Start(url)) //<------ error on this line
        {
            Console.WriteLine("Server running on {0}", url);
            Console.ReadLine();
        }

Error message:

Could not load file or assembly ‘Microsoft.Owin.Security, Version=2.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35’ or one of its dependencies. The located assembly’s manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

More info:

In my project solution, the reference is pointing to the dll in the packages folder from NuGet

This has been added in my App.config file by NuGet

<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.0.0" newVersion="2.0.0.0" />
  </dependentAssembly>
</assemblyBinding>

In the packages folder, packagesMicrosoft.Owin.Security.2.0.0libnet45, the file version of Microsoft.Owin.Security.dll is 2.020911.395

Answers:

Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.

Method 1

Ok I’ve solved it.

I had to upgrade my Microsoft.Owin.Security package to 2.1.0 with this command

Install-Package Microsoft.Owin.Security -Version 2.1.0

And modify the bindings in my App.config like this

<assemblyIdentity name="Microsoft.Owin.Security" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.1.0.0" newVersion="2.1.0.0" />

Method 2

In my case, I had two projects:

  • MyProj.MvcWeb (an MVC application that referenced Microsoft.Owin.Security 3.0.0)
  • MyProj.Data.Entities (a class library that referenced Microsoft.Owin.Security 2.1.0; not sure how this happened)

Upgrading Microsoft.Owin.Security from 2.1.0 to 3.0.0 in the MyProj.Data.Entities project fixed the issue for me.

Method 3

I took your idea, thanks for the research you did, and I did it like this:

get-project PerfSurf | Update-Package Microsoft.Owin.Security

It’s much more simpler, and this will update manifest itself.

Ignore this (get-project PerfSurf) part, as I use it because I have multiple test project and don’t want to update them all

Method 4

Simple,
Go to your web.config file. Change the “bindingRedirect” tag for Microsoft.Owin, Microsoft.Owin.Security.OAuth, Microsoft.Owin.Security.Cookies, Microsoft.Owin.Security to as follows:

<bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.1.0" />

this could work.

Method 5

This assembly does not match what was requested that is why you get this error. check the Microsoft.Owin.Security version in the GAC. Also see here

Method 6

in my case, it turned out to be IIS express issue. Once i changed debug to Local IIS, error was gone.

Method 7

Renaming app.config to web.config works for me. Or just make a copy of app.config and call it web.config

Method 8

In my case, I have this error in code first during “update database”. I put “Set a as startUp a Project” in project with migration.it helped me

Method 9

I fixed it by changing my Web.config configuration tag:

from this:

<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">

to this:

<configuration>

dont know why this works.


All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x