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>