tutorial net mvc framework first español asp razor asp.net-mvc-5 entity-framework-6

razor - net - entity framework tutorial español



No se pudo cargar el archivo o ensamblado ''System.Web.WebPages.Razor, Version=3.1.1 (3)

Tuve un problema similar con System.Web.Mvc cuando copié mi proyecto en una máquina con Windows 8 desde Windows 7, y actualicé los paquetes, lo resolví quitando la referencia a System.Web.Mvc y volviéndola a agregar navegando a la versión 5.2 que encontré en:

C: / Archivos de programa (x86) / Microsoft ASP.NET / ASP.NET Web Stack 5 / Packages / Microsoft.AspNet.Mvc.5.2.0 / lib / net45

También estaba en: C: (mi carpeta de soluciones) / packages / Microsoft.AspNet.Mvc.5.2.3 / lib / net45

Haga clic por clic en detalle:

Lo resolvió yendo a la ventana del Explorador de soluciones en Visual Studio 2013 Express, luego a Referencias, haciendo clic con el botón derecho en System.Web.Mvc y eliminando. Luego agregué la referencia haciendo clic derecho en Referencias y "Agregar referencia ...", pero no agregué la forma normal de seleccionar Ensamblajes, hice clic en examinar y encontré la versión 5.2

Intento actualizar un proyecto de MVC 4 / EF 5 a MVC 5 / EF 6. Actualicé el marco de 4.5 a 4.5.1 y luego de NuGet actualicé la Solución MVC (4.0.30506.0 a 5.1.1) y EntityFramework (5 a 6.1.1). Esto generó una dependencia de Razor (2.0.30506.0 a 3.1.1) y páginas web (2.0.30506.0 a 3.1.1). Edité la carpeta Project and Views web.config para reflejar los cambios y eliminé el GUID del csproj.

Cuando ejecuto el sitio en depuración, aparece un error al cargar la carpeta Vistas web.config en la sección - name name = "host" type = "System.Web.WebPages.Razor.Configuration.HostSection - line.

"Ocurrió un error al crear el manejador de sección de configuración para system.web.webPages.razor / host: No se pudo cargar el archivo o ensamblado ''System.Web.WebPages.Razor, Version = 3.1.1"

No tiene un problema en la línea anterior (System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup) o con la referencia de Razor en la raíz web.config. Lamentablemente, el seguimiento de pila no identifica el conjunto de llamada.

Conjunto de llamadas: (Desconocido).

Todos los archivos relevantes están incluidos a continuación.

¿Alguien tiene alguna idea de cuál es el problema y, lo que es más importante, cómo solucionarlo? Solo actualicé los paquetes NuGet mínimos: MVC y Entity Framework.

packages.config: … <package id="EntityFramework" version="6.1.0" targetFramework="net451" /> <package id="jQuery" version="2.0.2" targetFramework="net45" /> <package id="jQuery.UI.Combined" version="1.10.3" targetFramework="net45" /> <package id="jQuery.Validation" version="1.11.1" targetFramework="net45" /> <package id="knockoutjs" version="2.2.1" targetFramework="net45" /> <package id="Microsoft.AspNet.Mvc" version="5.1.1" targetFramework="net451" /> <package id="Microsoft.AspNet.Mvc.FixedDisplayModes" version="5.0.0" targetFramework="net451" /> <package id="Microsoft.AspNet.Razor" version="3.1.1" targetFramework="net451" /> <package id="Microsoft.AspNet.Web.Optimization" version="1.0.0" targetFramework="net45" /> … <package id="Microsoft.AspNet.WebPages" version="3.1.1" targetFramework="net451" /> <!-- oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" --> … web.config: root <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> … <dependentAssembly> <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" /> <bindingRedirect oldVersion="0.0.0.0-3.1.1" newVersion="3.1.1" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" /> <bindingRedirect oldVersion="0.0.0.0-5.1.1" newVersion="5.1.1" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="System.Web.WebPages.Razor" publicKeyToken="31bf3856ad364e35" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-3.1.1" newVersion="3.1.1" /> </dependentAssembly> web.config: Views folder <sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.1.1, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.1.1, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" /> <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.1.1, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" /> </sectionGroup> … <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.1.1, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> … <pages validateRequest="false" pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=5.1.1, Culture=neutral, PublicKeyToken=31BF3856AD364E35" pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc, Version=5.1.1, Culture=neutral, PublicKeyToken=31BF3856AD364E35" userControlBaseType="System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=5.1.1, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> <controls> <add assembly="System.Web.Mvc, Version=5.1.1, Culture=neutral, PublicKeyToken=31BF3856AD364E35" namespace="System.Web.Mvc" tagPrefix="mvc" /> </controls> </pages> ERROR PAGE:

Descripción del error de configuración: Se produjo un error durante el procesamiento de un archivo de configuración requerido para atender esta solicitud. Revise los detalles de error específicos a continuación y modifique su archivo de configuración de manera adecuada.

Mensaje de error del analizador: Se produjo un error al crear el manejador de sección de configuración para system.web.webPages.razor / host: No se pudo cargar el archivo o ensamblado ''System.Web.WebPages.Razor, Version = 3.1.1, Culture = 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)

Error de fuente:

Line 4: <configSections> Line 5: <sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.1.1, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> Line 6: <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.1.1, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" /> Line 7: <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.1.1, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" /> Line 8: </sectionGroup>

Archivo fuente: C: / Project / views / web.config Línea: 6

Rastreo de carga de ensamblaje: la siguiente información puede ser útil para determinar por qué no se pudo cargar el ensamblado ''System.Web.WebPages.Razor, Version = 3.1.1, Culture = neutral, PublicKeyToken = 31bf3856ad364e35''.

=== Información de estado de enlace previo === REGISTRO: DisplayName = System.Web.WebPages.Razor, Versión = 3.1.1, Cultura = neutro, PublicKeyToken = 31bf3856ad364e35 (Parcial) WRN: Se proporcionó información de enlace parcial para un ensamblado: WRN: Nombre del ensamblado: System.Web.WebPages.Razor, Version = 3.1.1, Culture = neutral, PublicKeyToken = 31bf3856ad364e35 | ID del dominio: 4 WRN: se produce un enlace parcial cuando solo se proporciona una parte del nombre para mostrar del ensamblaje. WRN: Esto podría ocasionar que el encuadernador cargue un ensamblaje incorrecto. WRN: Se recomienda proporcionar una identidad textual completamente especificada para el ensamblaje, WRN: que consiste en el nombre simple, versión, cultura y token de clave pública. WRN: consulte el documento técnico http://go.microsoft.com/fwlink/?LinkId=109270 para obtener más información y soluciones comunes a este problema. LOG: Appbase = file: /// C: / Project / LOG: Initial PrivatePath = C: / Project / bin

Conjunto de llamadas: (Desconocido).

LOG: Este enlace se inicia en el contexto de carga predeterminado. LOG: Usando el archivo de configuración de la aplicación: C: / Project / web.config LOG: Usando el archivo de configuración del host: C: / Users / xxx / Documents / IISExpress / config / aspnet.config LOG: Usando el archivo de configuración de la máquina desde C: / Windows / Microsoft.NET / Framework / v4.0.30319 / config / machine.config. LOG: Política que no se aplica a la referencia en este momento (enlace de ensamblaje privado, personalizado, parcial o basado en la ubicación). LOG: Intentando descargar el nuevo archivo URL: /// C: / Users / xxx / AppData / Local / Temp / ASP.NET Files / root / 898b17f9 / 848c1fdf / System.Web.WebPages.Razor.DLL. LOG: Intentando descargar el nuevo archivo URL: /// C: / Users / xxx / AppData / Local / Temp / ASP.NET Files / root / 898b17f9 / 848c1fdf / System.Web.WebPages.Razor / System.Web.WebPages .Razor.DLL. LOG: Intentando descargar el nuevo archivo URL: /// C: / Project /bin/System.Web.WebPages.Razor.DLL. WRN: al comparar el nombre del ensamblado, se produjo una discrepancia: ERR de versión menor: no se completó la configuración del ensamblaje (hr = 0x80131040). Sonda terminada.

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


Decidió que no valía la pena intentar descubrir estas dependencias de pesadilla. Restauré una copia de seguridad del proyecto y desde la consola del Administrador de paquetes (PMC) actualizó manualmente MVC y EntityFramework con versiones anteriores que no llamaron a la dependencia de Razor 3.1.1.

Install-Package Microsoft.AspNet.Mvc -Version 5.0.0

Install-Package entityframework-Version 6.0.0

Nota: Si usa el método DbContext.EntityState, se ha movido de System.Data a System.Data.Entity, actualice sus usos según corresponda.

Si tiene membresía simple, deberá instalar Microsoft.AspNet.WebPages.WebData (consulte ¿Es ASP.NET MVC 5 incompatible con WebMatrix SimpleMembershipProvider? ) Y si tiene OAuth en el proyecto (la plantilla de MVC4 instala OAuth en el proyecto, No lo estaba usando, así que pude eliminarlo. Si lo está utilizando, tiene más trabajo de recorte para usted) tendrá que desinstalar OAUTH (WebData tenía un problema de dependencia con OAUTH).

Desde NuGet Desinstale la biblioteca OAuth de Microsoft WebPages

Desde el paquete de instalación de PMC Microsoft.AspNet.WebPages.WebData

Asegúrese de seguir estos pasos según corresponda a su proyecto: actualice MVC 4 a 5 http://www.asp.net/mvc/tutorials/mvc-5/how-to-upgrade-an-aspnet-mvc-4-and -web-api-project-to-aspnet-mvc-5-y-web-api-2

- O -

Si quieres probar Actualizando todos tus paquetes, sigue estos pasos:

Desde NuGet Desinstale la biblioteca OAuth de Microsoft WebPages (si usa SimpleMembership, consulte más arriba)

Tuve que actualizar de forma individual: ''Microsoft ASP.NET Web API Client Libraries and Core Libraries'' y ''System.Spatial for OData''

Actualizar todo

Desde PMC Install-Package Microsoft.AspNet.WebPages.WebData (SimpleMembership, ver arriba)

(Ver DbContext.EntityState arriba)

(web.config-root, add key = "páginas web: Versión" value = "3.0.0.0"; consulte Actualizar MVC 4 a 5 anterior; otros cambios se realizaron automáticamente)

(Las vistas web.config requieren cambios manuales)

(Luego fue capaz de crear y abrir proyectos exitosamente pero cuando accedió al DB requirió una actualización. (De la base de datos de actualización de PMC. Falló con "CREATE INDEX [xxxxxxx] ON [dbo] .xxxxxxxx" "System.Data. SqlClient.SqlException (0x80131904): la operación falló porque ya existe un índice o estadísticas con el nombre ''xxxxxxxx'' en la tabla ''dbo.xxxxxxx''. ") Pero pude acceder correctamente a la base de datos.


Tuve un problema similar hace unos días, finalmente obtuve la solución, simplemente ejecuto el paquete de actualización de comandos desde la consola del administrador de paquetes y funciona para mí.