que net mvc example c# asp.net .net signalr

c# - mvc - signalr net core



Error de SignalR 2.0: no se pudo cargar el archivo o el ensamblaje Microsoft.Owin.Security (9)

Cambiar el nombre de app.config a web.config funciona para mí. O simplemente haga una copia de app.config y llámelo web.config

Estoy siguiendo este tutorial paso a paso

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

Y estoy recibiendo una excepción en la línea marcada a continuación

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

Mensaje de error:

No se pudo cargar el archivo o el ensamblaje ''Microsoft.Owin.Security, Version = 2.0.1.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35'' o una de sus dependencias. La definición del manifiesto del ensamblaje ubicado no coincide con la referencia del ensamblaje. (Excepción de HRESULT: 0x80131040)

Más información:

En mi solución de proyecto, la referencia está apuntando a la dll en la carpeta de paquetes de NuGet

Esto ha sido agregado en mi archivo App.config por 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>

En la carpeta de paquetes, packages/Microsoft.Owin.Security.2.0.0/lib/net45 , la versión del archivo de Microsoft.Owin.Security.dll es 2.020911.395


En mi caso, resultó ser un problema de IIS Express. Una vez que cambié la depuración a IIS local, el error desapareció.


En mi caso, tengo este error de código primero durante la "base de datos de actualización". Puse "Establecer como iniciar un proyecto" en un proyecto con migration.it me ayudó


En mi caso, tuve dos proyectos:

  • MyProj.MvcWeb (una aplicación MVC que hizo referencia a Microsoft.Owin.Security 3.0.0 )
  • MyProj.Data.Entities (una biblioteca de clases que hizo referencia a Microsoft.Owin.Security 2.1.0 ; no estoy seguro de cómo sucedió esto)

La actualización de Microsoft.Owin.Security de 2.1.0 a 3.0.0 en el proyecto MyProj.Data.Entities solucionó el problema para mí.


Este ensamblaje no coincide con lo que se solicitó, es por eso que recibe este error. verifique la versión de Microsoft.Owin.Security en el GAC. También vea here


Lo arreglé cambiando mi etiqueta de configuración Web.config:

de esto:

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

a esto:

<configuration>

No sé por qué esto funciona.


Ok ya lo he resuelto.

Tuve que actualizar mi paquete Microsoft.Owin.Security a 2.1.0 con este comando

Install-Package Microsoft.Owin.Security -Version 2.1.0

Y modifique los enlaces en mi App.config como este

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


Simple, ve a tu archivo web.config. Cambie la etiqueta "bindingRedirect" para Microsoft.Owin, Microsoft.Owin.Security.OAuth, Microsoft.Owin.Security.Cookies, Microsoft.Owin.Security a lo siguiente:

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

Esto podría funcionar.


Tomé tu idea, gracias por la investigación que hiciste, y lo hice así:

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

Es mucho más simple, y esto se actualizará manifestado.

Ignorar esta parte ( get-project PerfSurf ), ya que la uso porque tengo varios proyectos de prueba y no quiero actualizarlos todos.