sintaxis page net mvc handling error custom asp c# asp.net-mvc-4 razor runtime-error

c# - page - razor mvc



Error de tiempo de ejecuciĆ³n: no se pudo cargar el archivo o ensamblado ''System.Web.WebPages.Razor, Version=3.0.0.0 (9)

Me metí con mis paquetes ASP.NET MVC4 a través de NuGet, y ahora System.Web.WebPages.Razor v3 no se cargará. Algunas veces otros paquetes tampoco se cargarán.

Mi compañero de trabajo ejecuta la solución sin ningún problema, por lo que el problema es definitivamente la configuración de mi sistema de desarrollo (a diferencia de todo lo que se ha registrado).

Ya he probado las recomendaciones en varios enlaces SOf y otros foros, que incluyen:

Además de sugerencias vinculadas desde allí. También verifiqué el Panel de control y no encontré ningún programa instalado que hiciera referencia a MVC. (Si importa, estoy ejecutando MS Win 7 SP 1.)

Estoy abierto a cualquiera y todas las sugerencias.

Aquí está mi información de volcado de núcleo:

Error del servidor en la aplicación ''/''.

No se pudo cargar el archivo o ensamblado ''System.Web.WebPages.Razor, Version = 3.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35'' o una de sus dependencias. El sistema no puede encontrar el archivo especificado.

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.IO.FileNotFoundException: No se pudo cargar el archivo o ensamblado ''System.Web.WebPages.Razor, Version = 3.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35'' o una de sus dependencias. El sistema no puede encontrar el archivo especificado.

Source Error: An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of

la excepción se puede identificar utilizando el seguimiento de la pila de excepción a continuación.

Assembly Load Trace: The following information can be helpful to determine why the assembly ''System.Web.WebPages.Razor,

Versión = 3.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35 ''no se pudo cargar.

=== Información de estado de enlace previo === REGISTRO: Usuario = CodesWithHammer LOG: DisplayName = System.Web.WebPages.Razor, Versión = 3.0.0.0, Cultura = neutro, PublicKeyToken = 31bf3856ad364e35 (Totalmente especificado) LOG: Appbase = file: /// c: / users / CodesWithHammer / documents / visual studio 2012 / Projects / MPP / MPP / LOG: Initial PrivatePath = c: / users / CodesWithHammer / documents / visual studio 2012 / Projects / MPP / MPP / bin Calling ensamblado: Microsoft.Web.WebPages.OAuth, Version = 3.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35.

=== LOG: Este enlace se inicia en el contexto de carga predeterminado. LOG: Utilizando el archivo de configuración de la aplicación: c: / users / CodesWithHammer / documents / visual studio 2012 / Projects / MPP / MPP / web.config LOG: Usando el archivo de configuración del host: C: / Users / CodesWithHammer / Documents / IISExpress / config / aspnet .config LOG: utilizando el archivo de configuración de la máquina desde C: / Windows / Microsoft.NET / Framework / v4.0.30319 / config / machine.config. LOG: Referencia posterior a la política: System.Web.WebPages.Razor, Version = 3.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35 LOG: Intentando descargar el nuevo archivo URL: /// C: / Users / CodesWithHammer / AppData / Local / Temp / Temporal ASP.NET Files / root / 5bf3ca07 / f960d9c5 / System.Web.WebPages.Razor.DLL. LOG: Intentando descargar el nuevo archivo URL: /// C: / Users / CodesWithHammer / AppData / Local / Temp / ASP.NET Files / root / 5bf3ca07 / f960d9c5 / System.Web.WebPages.Razor / System.Web.WebPages .Razor.DLL. LOG: Intentando descargar el nuevo archivo URL: /// c: / users / CodesWithHammer / documents / visual studio 2012 / Projects / MPP / MPP / bin / System.Web.WebPages.Razor.DLL. LOG: Intentando descargar el nuevo archivo URL: /// c: / users / CodesWithHammer / documents / visual studio 2012 / Projects / MPP / MPP / bin / System.Web.WebPages.Razor / System.Web.WebPages.Razor.DLL . LOG: Intentando descargar el nuevo archivo URL: /// C: / Users / CodesWithHammer / AppData / Local / Temp / ASP.NET Files / root / 5bf3ca07 / f960d9c5 / System.Web.WebPages.Razor.EXE. LOG: Intentando descargar el nuevo archivo URL: /// C: / Users / CodesWithHammer / AppData / Local / Temp / ASP.NET Files / root / 5bf3ca07 / f960d9c5 / System.Web.WebPages.Razor / System.Web.WebPages .Razor.EXE. LOG: Intentando descargar el nuevo archivo URL: /// c: / users / CodesWithHammer / documents / visual studio 2012 / Projects / MPP / MPP / bin / System.Web.WebPages.Razor.EXE. LOG: Intentando descargar el nuevo archivo URL: /// c: / users / CodesWithHammer / documents / visual studio 2012 / Projects / MPP / MPP / bin / System.Web.WebPages.Razor / System.Web.WebPages.Razor.EXE .

Stack Trace:

[FileNotFoundException: Could not load file or assembly ''System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral,

PublicKeyToken = 31bf3856ad364e35 ''o una de sus dependencias. El sistema no puede encontrar el archivo especificado.] Microsoft.Web.WebPages.OAuth.PreApplicationStartCode.Start () +0

[InvalidOperationException: The pre-application start initialization method Start on type

Microsoft.Web.WebPages.OAuth.PreApplicationStartCode lanzó una excepción con el siguiente mensaje de error: No se pudo cargar el archivo o ensamblado ''System.Web.WebPages.Razor, Version = 3.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35'' o uno de sus dependencias. El sistema no puede encontrar el archivo especificado ..] System.Web.Compilation.BuildManager.InvokePreStartInitMethodsCore ( 1 methods, Func ICollection 1 methods, Func 1 setHostingEnvironmentCultures) +550 System.Web.Compilation.BuildManager.InvokePreStartInitMethods (métodos de ICollection`1) +132 System.Web .Compilation.BuildManager.CallPreStartInitMethods (cadena preStartInitListPath) +90 System.Web.Compilation.BuildManager.ExecutePreAppStart () +135 System.Web.Hosting.HostingEnvironment.Initialize (ApplicationManager appmanager, IApplicationHost APPHOST, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel PolicyLevel, Excepción appDomainCreationException) +516

[HttpException (0x80004005): The pre-application start initialization method Start on type

Microsoft.Web.WebPages.OAuth.PreApplicationStartCode lanzó una excepción con el siguiente mensaje de error: No se pudo cargar el archivo o ensamblado ''System.Web.WebPages.Razor, Version = 3.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35'' o uno de sus dependencias. El sistema no puede encontrar el archivo especificado ..] System.Web.HttpRuntime.FirstRequestInit (HttpContext context) +9874840 System.Web.HttpRuntime.EnsureFirstRequestInit (HttpContext context) +101 System.Web.HttpRuntime.ProcessRequestNotificationPrivate (IIS7WorkerRequest wr, HttpContext context) +254

Información de la versión: Microsoft .NET Framework Version: 4.0.30319; Versión ASP.NET: 4.0.30319.18055

(Para aquellos que leen esto hasta ahora: no tengo suficiente reputación para hacer que la etiqueta se salga de mi cabello . Si hay una etiqueta existente, inclúyanla. KTHX).

ETA: Cuando traté de actualizar manualmente Microsoft.AspNet.Mvc a la versión 3, aquí está el error que obtuve en la consola de Package Manager:

Instalación fallida. Volviendo atrás ... Install-Package: no se pudo actualizar ''Microsoft.AspNet.Mvc 5.0.0'' a ''Microsoft.AspNet.Mvc 3.0.20105.1''. No se puede encontrar una versión de ''Microsoft.AspNet.Mvc.FixedDisplayModes'' que sea compatible con ''Microsoft.AspNet.Mvc 3.0.20105.1''. En la línea: 1 char: 16 + Install-Package <<<< Microsoft.AspNet.Mvc -Version 3.0.20105.1 + CategoryInfo: NotSpecified: (:) [Install-Package], InvalidOperationException + FullyQualifiedErrorId: NuGetCmdletUnhandledException, NuGet.PowerShell.Commands .InstallPackageCommand

ETA2: obtuve el directorio de paquetes de mi compañero de trabajo. Tienen MS.AspNet.Mvc v5, y funcionan perfectamente. Pero TAMBIÉN tienen MS.AspNet.Mvc.FixedDisplayModes v5. Así que voy a agregar ambos. Y sí, he respaldado toda mi solución. :)

ETA3: Así que me re-actualicé a AspNet MVC v5, y omití los Mvc.FixedDisplayNodes obsoletos. Luego tuve un problema con las versiones conflictivas de AspNet.WebPages, así que utilicé esta solución: se detectaron versiones conflictivas de páginas web ASP.NET: la versión especificada es "1.0.0.0", pero la versión en bin es "2.0.0.0" en ASP.MET MVC 3

¡Y ahora mi proyecto se ejecuta!

¡Gracias por toda la ayuda!


"Update-Package -reinstall Microsoft.AspNet.WebPages"

Reinstale los paquetes nuget de Microsoft.AspNet.WebPages usando este comando en la consola del administrador de paquetes. 100% trabajo !!


¿Hay un System.Web.WebPages.Razor.dll en la carpeta bin de su aplicación web? ¿Cuál es su versión? (Explorer, clic derecho, propiedades) Supongo que no es 3.0.0.0. Simplemente obtenga los paquetes nuget para v3.0.0.0, tal vez copiando la carpeta de paquetes de su colega. O instálelo manualmente: http://www.nuget.org/packages/Microsoft.AspNet.Mvc/3.0.20105.1

EDITAR: si copia cosas de su colega, también copie los números de versión relevantes en packages.config. Esto es lo que le dice a nuget qué versiones colocar en la carpeta de paquetes.


En mi caso, el problema no era sobre redireccionamientos vinculantes o paquete / dlls Microsoft.AspNet.Razor faltante / no coincidente, por lo que las soluciones anteriores no funcionaron.

El problema, en mi proyecto no web, era que RazorEngine + Microsoft.AspNet.Razor se instalaron en un proyecto diferente (Proyecto A) que el proyecto de ensamblaje / puesta en marcha (Proyecto B) . Debido a que no hay una referencia explícita a Razor, System.Web.Razor NO se copió a / bin en una compilación de versión.

La solución fue Instalar RazorEngine + Microsoft.AspNet.Razor en el punto de entrada de la aplicación (Proyecto B, Aplicación de consola en mi caso), luego System.Web.Razor se copia a / bin y todo el mundo está contento.


En mi caso, el problema no se resolvió siguiendo ninguno de los métodos anteriores. Tenía todas las rutas en la configuración de mi paquete correctas y las dll estaban en su lugar como se indica, todavía recibía el error de tiempo de ejecución para System.Web.WebPages.Razor. I changed the localhost port number and this worked

No estoy seguro de por qué tuve el problema y por qué el cambio del número de puerto lo resolvió. Solo publicando esto porque siento que esto podría ser útil para alguien que está afuera.


Lo mismo me pasó a mí con NUGET.

la siguiente etiqueta ayudó

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

Además, si esto sucede en el servidor, tenía que asegurarme de que estaba ejecutando el grupo de aplicaciones en una "cuenta con privilegios" más para el sistema de archivos, pero no creo que ese sea su problema aquí.


No quería instalar Visual Studio y entorno de desarrollo, así que instalé AspNetMVC4Setup.exe en la máquina con Windows Server 2016 y resolvió el problema. El instalador se descargó del sitio web de Microsoft.


Puede encontrarlo en Nuget Package Microsoft ASP.NET Web Pages Version 3.2.0

Si tiene una referencia a una versión anterior a la 3.0.0.0, elimine la referencia, agregue la referencia al archivo .dll correcto en su carpeta de paquetes y asegúrese de que "Copiar local" esté configurado como "Verdadero" en las propiedades de .dll .

Luego en su web.config (como lo menciona @MichaelEvanchik)

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


Tengo el mismo error, lo que funcionó para mí es:

  1. Repare el error de referencias.
  2. Cierre Visual Studio.
  3. Eliminar paquetes.
  4. Eliminar la carpeta .vs.
  5. Ejecutar proyecto de nuevo.
  6. Reconstruir proyecto.

en el nuevo actionmailer, "razorengine" es una dependencia. La última versión de Razorengine instala la dependencia a System.Web.Razor 3.0.0.

Si utiliza una versión anterior en su aplicación (supongo que está utilizando Actionmailer en otro proyecto y que hace referencia a la funcionalidad de correo de otro proyecto) que obtiene este problema, por supuesto.

En una aplicación anterior, tenía un MVC de aplicación web que usa system.web.Razor versión 2.0.0. Por supuesto, tengo el problema. ¿Como arreglar? => ¡Simple!

  1. Simplemente desinstala todo el actionmailer en tu proyecto de Actionmailer.
  2. Instale una versión anterior de RazorEngin

    Install-Package RazorEngine -Version 3.3.0 (porque la versión 3.3.0 hará referencia a system.web.razor 2.0.0)

  3. Instala Actionmailer nuevamente (no instalará la última versión de RazorEngin porque ya lo hiciste)
¡Succes!