2012-06-28 43 views
21

Tuve este problema antes, pero todo lo que tuve que hacer fue limpiar y reconstruir el proyecto. Ahora que parece que ya no funciona. Cuando inicio mi depurador de proyectos Asp.Net MVC3, el sitio se abre en mi navegador. En vez de conseguir la primera página presentada en el navegador, recibo este errorNo se pudo cargar el archivo o ensamblado 'System.Web.WebPages'

Parser Error Message: Could not load file or assembly 'System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified. 

Source Error: 
Line 31:   <add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
Line 32:   <add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
Line 33:   <add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
Line 34:  </assemblies> 
Line 35:  </compilation> 

Me parece que no puede encontrar la manera de resolver esto. ¿Alguna idea?

+1

limpio, cerca del estudio, abra el proyecto de nuevo. – t3hn00b

+0

¿Está System.Web.WebPages en sus referencias en el proyecto? – Iain

+2

¡Sí lo es! No funcionó para limpiar y cerrar –

Respuesta

17

Tuve este problema. Tal vez ocurrió cuando instalé .NET MVC v4 en la parte superior de MVC v3, no estoy seguro.

De todos modos eliminé la referencia System.Web.WebPages de mi proyecto. Luego, en la pestaña Add Reference dialogue .NET había dos referencias de System.Web.WebPages enumeradas, una versión 1.0.0.0 y una 2.0.0.0. Me aseguré de agregar la versión 1.0.0.0 ya que esa era la que faltaba.

enter image description here

+0

Gracias chicos, este led se reunió con la solución. En mi caso, la DLL completa faltaba en nuestro servidor. Según mi experiencia, WebPages 1.0 se instala junto con MVC3 (si no lo tenía antes), mientras que hay un paquete separado para WebPages 2.0 en la instalación de MVC4. . Asegúrese de instalar la versión correcta a la que se hace referencia en su web.config. – army

+1

Esta solución funcionó para mí. Encontré el problema cuando cambié el Target Framework de 3.5 a 4.0. VS 2010 intentó ser útil y actualizar ASP.NET MVC de 2.0 a 4.0, lo que causó muchos dolores de cabeza. Simplemente eliminando la referencia System.Web.Mvc y agregando la versión 2 una vez solucionado el problema. – jason

4

Me rasqué la cabeza por un tiempo sobre este problema cuando lo tenía. Eventualmente noté que tenía la siguiente sección en la sección "runtime" de mi web.config.

<runtime> 
. . . 
     <dependentAssembly> 
     <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" culture="neutral" /> 
     <bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" /> 
     </dependentAssembly> 
. . . 
</runtime> 

Como se puede ver, esto se refiere a la versión 2 de la asamblea, que no coincide con el siguiente código que también tiene en la sección system.web/compilación/asambleas de web.config.

<add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 

El montaje real referenciado en Referencias para el proyecto es de hecho v1.0.0.0, así que cambiaron la primera parte de código anterior para el siguiente, que fija el problema inmediatamente. No estoy seguro de cómo llegó el error en primer lugar.

<runtime> 
. . . 
     <dependentAssembly> 
     <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" culture="neutral" /> 
     <bindingRedirect oldVersion="0.0.0.0-1.0.0.0" newVersion="1.0.0.0" /> 
     </dependentAssembly> 
. . . 
</runtime> 
+0

Gracias, esto lo solucionó para mí. La referencia contenía v2.0, la web.config contiene la v1.0. – Carra

1

tuve este problema, todo lo que tenía que hacer era cambiar la propiedad de la referencia externa: Versión específica de Verdadero Falso a

Después de que el proyecto de construcción de nuevo.

3

trabajado para mí:

  1. Herramientas -> Administrador de NuGet Paquete -> Administrar paquetes NuGet para solución

  2. Navegar

  3. de búsqueda para "Microsoft.AspNet.WebPages"

  4. Asegúrese de que todos los proyectos en solución tengan la última versión.

0

Tengo el mismo problema para MVC5.

En primer lugar Compruebe su System.Web.WebPages ensamblaje de la referencia de su proyecto.

  1. Si no lo encuentra, a continuación, añadir por seleccione Agregar referencia del Proyecto de referencia.
  2. Si encuentra cualquiera, la versión de verificación de Propiedades de esa referencia. Luego verifica tu proyecto web.config file. Puede ser que estas dos versiones no coincidan.

Para mí, agrego una referencia de la versión 2.0.0.0. pero mi archivo web.config referencia a él desde

<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />

y lo cambio a

<bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />

funciona para mí en MVC5.

Revise la sección resaltada en mi archivo adjunto para obtener más información.

System.Web.WebPages

0

Ir al menú: "Herramientas// Gestor de Consola de administrador de paquetes Nuget paquete"

orden de marcha install-package Microsoft.AspNet.WebPages

Cuestiones relacionadas