web-dev-qa-db-fra.com

Erreur SignalR 2.0: impossible de charger le fichier ou l'assembly Microsoft.Owin.Security

Je suis ce tutoriel pas à pas

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

Et je reçois une exception sur la ligne marquée ci-dessous

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

Message d'erreur:

Impossible de charger le fichier ou l'assembly 'Microsoft.Owin.Security, Version = 2.0.1.0, Culture = neutre, PublicKeyToken = 31bf3856ad364e35' ou l'une de ses dépendances. La définition du manifeste de l'Assemblée localisée ne correspond pas à la référence de l'Assemblée. (Exception de HRESULT: 0x80131040)

Plus d'informations:

Dans ma solution de projet, la référence pointe vers la dll dans le dossier des packages de NuGet.

Cela a été ajouté dans mon fichier App.config par 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>

Dans le dossier des packages, packages\Microsoft.Owin.Security.2.0.0\lib\net45, la version du fichier de Microsoft.Owin.Security.dll est 2.020911.395.

45
Null Reference

Ok je l'ai résolu.

J'ai dû mettre à jour mon paquet Microsoft.Owin.Security à 2.1.0 avec cette commande

Install-Package Microsoft.Owin.Security -Version 2.1.0

Et modifiez les liaisons dans mon App.config comme ceci

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

Dans mon cas, j'ai eu deux projets:

  • MyProj.MvcWeb (une application MVC qui a référencé Microsoft.Owin.Security 3.0.0)
  • MyProj.Data.Entities (une bibliothèque de classe qui a référencé Microsoft.Owin.Security 2.1.0; je ne sais pas comment cela s'est passé)

La mise à niveau de Microsoft.Owin.Security de 2.1.0 vers 3.0.0 dans le projet MyProj.Data.Entities a résolu le problème pour moi.

23
Jon Sagara

J'ai pris votre idée, merci pour la recherche que vous avez faite, et je l'ai faite comme ceci:

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

C'est beaucoup plus simple, et cela va se mettre à jour.

Ignorer cette partie (get-project PerfSurf), car je l'utilise parce que j'ai plusieurs projets de test et que je ne veux pas tous les mettre à jour

7
deadManN

Simple, Accédez à votre fichier web.config. Modifiez la balise "bindingRedirect" pour Microsoft.Owin, Microsoft.Owin.Security.OAuth, Microsoft.Owin.Security.Cookies, Microsoft.Owin.Security comme suit:

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

cela pourrait fonctionner.

4
Ramkumar Thangavel

Dans mon cas, cette erreur de code survient lors de la mise à jour de la base de données. J'ai mis "Set a as startUp a Project" dans le projet avec migration.it m'a aidé

0
user7358060

Je l'ai corrigé en changeant ma balise de configuration Web.config:

à partir de ceci:

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

pour ça:

<configuration>

je ne sais pas pourquoi cela fonctionne.

0
async3

dans mon cas, il s’est avéré que le problème était IIS express. Une fois que j'ai changé le débogage en IIS local, l'erreur a disparu.

0
Andrew Gale

Renommer app.config en web.config fonctionne pour moi. Ou faites simplement une copie de app.config et appelez-la web.config

0
Dez Udezue

Cet assemblage ne correspond pas à ce qui a été demandé, c'est pourquoi vous obtenez cette erreur. vérifiez la version de Microsoft.Owin.Security dans le GAC. Voir aussi ici

0
Shachaf.Gortler