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




signalr prerequisites (6)

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'assembly localisé ne correspond pas à la référence de l'assembly. (Exception de HRESULT: 0x80131040)

Plus d'informations:

Dans ma solution de projet, la référence pointe vers la dll du dossier 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 packages, packages\Microsoft.Owin.Security.2.0.0\lib\net45 , la version du fichier de Microsoft.Owin.Security.dll est 2.020911.395.


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 here


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 projet avec migration.it m'a aidé


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 souhaite pas tous les mettre à jour.


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.


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


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.





signalr