Tengo un problema como este en el servidor
[A] System.Web.WebPages.Razor.Configuration.HostSection no se puede convertir en [B] System.Web.WebPages.Razor.Configuration.HostSection. El tipo A se origina en 'System.Web.WebPages.Razor, Version = 2.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35' en el contexto 'Default' en la ubicación 'C: \ Windows \ Microsoft.Net \ assembly \ GAC_MSIL \ System .Web.WebPages.Razor \ v4.0_2.0.0.0__31bf3856ad364e35 \ System.Web.WebPages.Razor.dll '. El tipo B se origina en 'System.Web.WebPages.Razor, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35' en el contexto 'Default' en la ubicación 'C: \ Windows \ Microsoft.Net \ assembly \ GAC_MSIL \ System .Web.WebPages.Razor \ v4.0_1.0.0.0__31bf3856ad364e35 \ System.Web.WebPages.Razor.dll '.
Descripción: se produjo una excepción no controlada durante la ejecución de la solicitud web actual. Revise el seguimiento de la pila para obtener más información sobre el error y dónde se originó en el código.
Detalles de la excepción: System.InvalidCastException: [A] System.Web.WebPages.Razor.Configuration.HostSection no se puede convertir en [B] System.Web.WebPages.Razor.Configuration.HostSection. El tipo A se origina en 'System.Web.WebPages.Razor, Version = 2.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35' en el contexto 'Default' en la ubicación 'C: \ Windows \ Microsoft.Net \ assembly \ GAC_MSIL \ System .Web.WebPages.Razor \ v4.0_2.0.0.0__31bf3856ad364e35 \ System.Web.WebPages.Razor.dll '. El tipo B se origina en 'System.Web.WebPages.Razor, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35' en el contexto 'Default' en la ubicación 'C: \ Windows \ Microsoft.Net \ assembly \ GAC_MSIL \ System .Web.WebPages.Razor \ v4.0_1.0.0.0__31bf3856ad364e35 \ System.Web.WebPages.Razor.dll '.
Error de fuente:
He instalado MVC 3 en el seridor y en mi computadora. Intenté reemplazarlo con una base de código de 15 días, pero existe el mismo problema.
ahora quiero solucionarlo. ¿Alguien sabe cómo puedo solucionarlo?
fuente
Respuestas:
En el Web.config raíz, asegúrese de que assemblyBinding contenga la versión correcta para el ensamblado "System.Web.WebPages.Razor" y "System.Web.Mvc". Verifique su existencia real, así como mi etiqueta de ensamblaje "System.Web.WebPages.Razor" faltaba causando el error. Tenía mis versiones de ensamblado configuradas en 3.0 y 5.0 respectivamente en el momento de escribir este artículo con actualizaciones completas de NuGet. El código debería verse como a continuación. El publicKeyToken permanecerá igual entre las versiones. ¡Salud!
fuente
Mi caso se estaba actualizando de mvc4 a mvc5.
Me aseguré de que mis referencias estuvieran sincronizadas (con una aplicación mvc5 recién creada), actualicé el archivo web.config en consecuencia y todavía no funcionó. Finalmente funcionó cuando cambié mi archivo web.config ( DENTRO DEL directorio VIEWS ) de:
A esto:
RECUERDE: detenga iis (express o nativo), limpie la solución, compile y ejecute.
fuente
En caso de que la respuesta de ian no fuera suficiente (y los ensamblados sean correctos, pero el casting sigue siendo incorrecto), es probable que aún no haya actualizado
<configSections>
para reflejar el nuevo ensamblaje. asegúrese de que la parte del ensamblaje también haga referencia a la versión 3.0 de laSystem.Web.WebPages.Razor
biblioteca. p.ej(Note que todos hacen referencia
version=3.0.0
ahora)fuente
La solución de Ian funcionó en un proyecto, pero para otros necesito la información más completa en Cómo actualizar a MVC 5 y Web API 2
fuente
Este problema es muy común cuando está desarrollando para MVC 4 y luego, de repente, instala un paquete que está disponible en una versión más reciente, por lo que rompe toda la aplicación.
La única solución a este problema es actualizar toda su aplicación a una más nueva o instalar el paquete anterior compatible con su aplicación.
fuente
Problema:
Identificación:
El error está en el archivo de configuración, es decir, web.config de su proyecto.
Aquí encontrará que la versión de Razor está configurada en 2.0.0.0 donde, como en su proyecto, la versión 2.0.0.0 no está disponible.
Solución:
Es simple, simplemente cambie la versión de 2.0.0.0 a 3.0.0.0 y hará la magia.
No es necesario poner redirección o algo así, ya que complicará las cosas.
fuente
Encontré un problema y una solución.
1 Apunto mi código a 4.0 y luego subo el código y funcionó. Antes también actualizo mi código a asp.net MVC 4.
ahora es trabajo :)
fuente
Abra la ubicación de los dos archivos dll en su sistema, copie uno de los dll en la ubicación de su archivo al otro
e intente ejecutar el proyecto.
fuente
Otra forma de solucionar este problema, sin tener que actualizar las referencias, es esta
fuente