not ninjectwebcommon mvc added asp.net-mvc ninject asp.net-mvc-5 ninject.web.mvc

asp.net-mvc - ninjectwebcommon - ninject mvc 5



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

He creado el nuevo proyecto asp mvc 5.
Objetivo del proyecto .NET 4.5.
Instalé el paquete ninject mvc 3 nuget. Pero cuando ejecuto el proyecto obtengo este error en NinjectWebCommon.cs en el método CreateKernel() :

Se produjo una excepción del 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, Versión = 3.0.0.0, Cultura = 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)


Obtiene este error porque el Ninject.MVC assebly hace referencia a una versión anterior del ensamblado ASP.NET MVC. Dado que está fuertemente tipado, debe informar a la aplicación que use el ensamblaje más nuevo. Es por eso que los archivos web.config en las plantillas de proyecto predeterminadas contienen secciones de tiempo de ejecución como esta:

<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>

Puede agregar esto a su configuración o usar el nuevo paquete Ninject .


Asegúrese de incluir esto en el archivo webconfig de la aplicación.

<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">

p.ej

<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>