asp.net asp.net-mvc asp.net-mvc-5 ninject ninject.web.mvc

asp.net - FileLoadException después de instalar Ninject.MVC5



asp.net-mvc asp.net-mvc-5 (1)

Estoy tratando de aprender ASP.NET MVC con el libro "Pro ASP.NET MVC 5" de Adam Freeman. Lamentablemente, todos los proyectos que usan Ninject arrojan el mismo error

Se produjo una excepción de tipo ''System.IO.FileLoadException'' en Ninject.dll pero no se manejó en el código de usuario

Información adicional: No se pudo cargar el archivo o ensamblado ''System.Web.Mvc,> Version = 3.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35'' o una de sus dependencias. La definición del manifiesto del ensamblaje ubicado no coincide con la referencia de ensamblaje>. (Excepción de HRESULT: 0x80131040)

Este es exactamente el mismo problema que se discutió en este hilo,

Problemas después de instalar ninject mvc 3 en el proyecto mvc 5

pero las soluciones ofrecidas no funcionan para mí.

He intentado con las plataformas de destino 4.5 y 4.5.1, Ninject MVC3 y MVC5. También inserté este fragmento

<runtime> <dependentAssembly> <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" /> <bindingRedirect oldVersion="1.0.0.0-5.0.0.0" newVersion="5.0.0.0" /> </dependentAssembly> </runtime>

en el archivo Web.config , sin ningún efecto.

El problema debe estar en los paquetes Ninject MVC3 y MVC5. Cada vez que se instalan estos paquetes, cualquier llamada a Ninject.StandardKernel() arroja la excepción, independientemente de si está hecha de Global.asax o de la nueva NinjectWebCommon.cs o de cualquier otra parte del código (por supuesto, esto no debería importar para este tipo) de excepción de todos modos, pero en este hilo Error al usar Ninject con ASP.NET V4 se sugirió que el error podría tener algo que ver con el uso de Global.asax para conectar Ninject a la aplicación).

Me he quedado sin ideas. ¿Alguien puede ayudar?


Agregue a su Web.config (es decir, el proyecto SportsStore.WebUI):

<runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" /> <bindingRedirect oldVersion="1.0.0.0-5.0.0.0" newVersion="5.0.0.0" /> </dependentAssembly> </assemblyBinding> </runtime>

Debería funcionar con esto -> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">