tutorial net mvc libro español asp asp.net-mvc

asp.net-mvc - tutorial - libro asp.net mvc 5 español



No se pudo cargar el archivo o el ensamblaje ''System.Web.Mvc'' (20)

Acabo de escribir una entrada de blog sobre esto. Puede instalar ASP.NET MVC en su servidor O puede seguir los pasos aquí .

EDIT: (por jcolebrand) Pasé por este enlace, luego tuve el mismo problema que Victor below , así que sugiero que también agregue estos:

* Microsoft.Web.Infrastructure * System.Web.Razor * System.Web.WebPages.Deployment * System.Web.WebPages.Razor

Mi nueva aplicación web ASP.NET MVC funciona en mi estación de trabajo de desarrollo, pero no se ejecuta en mi servidor web ...

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

Error de configuración

Descripció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 apropiada.

Mensaje de error del analizador: No se pudo cargar el archivo o el ensamblado ''System.Web.Mvc, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35'' o una de sus dependencias. El sistema no puede encontrar el archivo especificado.

Error de fuente:

Line 44: <add assembly="System.Web.Abstractions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> Line 45: <add assembly="System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> Line 46: <add assembly="System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> Line 47: <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> Line 48: <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>

Archivo de origen: C: / inetpub / www.example.org / web.config Línea: 46

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

WRN: Assembly binding logging is turned OFF. To enable assembly bind failure logging, set the registry value [HKLM/Software/Microsoft/Fusion!EnableLog] (DWORD) to 1. Note: There is some performance penalty associated with assembly bind failure logging. To turn this feature off, remove the registry value [HKLM/Software/Microsoft/Fusion!EnableLog].

Información de la versión: Microsoft .NET Framework Versión: 2.0.50727.3053; Versión de ASP.NET: 2.0.50727.3053

¿Necesito instalar AspNetMVCBeta-setup.msi en el servidor? ¿O hay un instalador diferente para los servidores?


Además de la publicación de Haack, Hanselman también tiene una publicación similar. BIN Implementación de ASP.NET MVC 3 con Razor en un servidor Windows sin MVC instalado

Para mí, la solución "Copiar Local = verdadero" no fue suficiente porque las referencias del proyecto de mi sitio web no incluían todas las DLL que faltaban. Como Scott menciona en su publicación, también necesitaba obtener dlls adicionales de la siguiente carpeta en mi cuadro de desarrollo: C: / Archivos de programa (x86) / Microsoft ASP.NET / ASP.NET Web Pages / v1.0 / Assemblies. El mensaje de error me informó qué dll faltaba (System.Web.Infrastructure, System.Web.Razor, etc.) Seguí agregando cada dll faltante, uno por uno, hasta que funcionó.


Agregué "Microsoft ASP.NET Razor" usando Manage NuGet Packages.

Con Agregar referencias, por alguna razón, solo tenía System.Web.Helpers 1.0.0 y 2.0.0 ... pero no 3.0.0.

Otra opción, que funcionó conmigo, fue eliminar las referencias a System.Web.Mvc y System.Web.Http ... y luego agregarlas nuevamente a las ubicaciones del paquete en el archivo csproj (puede editar el proyecto más fácilmente con un editor de texto):

<Reference Include="System.Web.Http"> <HintPath>../packages/Microsoft.AspNet.WebApi.Core.5.2.3/lib/net45/System.Web.Http.dll</HintPath> <Reference Include="System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> <HintPath>../packages/Microsoft.AspNet.Mvc.5.2.3/lib/net45/System.Web.Mvc.dll</HintPath>


Arreglo simple. En VS2010, haga clic con el botón derecho en su proyecto MVC, seleccione "Agregar dependencias implementables ...", seleccione las opciones que desee y haga clic en Aceptar.


Como han mencionado otros, agregue estas referencias a los estudios visuales con Copy Local configurado en true . (También tuve que agregar System.Web.Webpages )

Microsoft.Web.Infrastructure System.Web.Razor System.Web.WebPages.Deployment System.Web.WebPages.Razor System.Web.Webpages


Después de intentar todo y aún fallando, esta fue mi solución: recordé que tenía un error al actualizar la versión de MVC en mi estudio visual, así que ejecuté el proyecto desde otro estudio visual (computadora diferente) y luego subí el dll-s y funcionó. tal vez ayude a alguien ...


En VS2010, haga clic con el botón derecho en el proyecto en el Explorador de soluciones y seleccione "Agregar dependencias implementables". Luego marque las casillas de verificación relacionadas con MVC en el siguiente cuadro de diálogo.

Esto crea una carpeta ''_bin_deployableAssemblies'' en el proyecto que contiene todos los archivos .dll mencionados en otras respuestas. Creo que estos se copian en la carpeta bin al crear un paquete de implementación.



Estoy usando Jenkins con proyectos .net y tuve problemas con las referencias de MVC 4.

Finalmente resolví mi problema usando una funcionalidad de motor de búsqueda de referencia .Net basada en el registro usando:

"HKEY_LOCAL_MACHINE / SOFTWARE / Wow6432Node / Microsoft.NETFramework / v2.0.50727 / AssemblyFoldersEx"

Puede crear la subclave y establecer la clave predeterminada en "c: / myreferenceedir" por ejemplo.

Me salvó con las versiones MVC y también las páginas web ASP.net.

Útil para agregar referencias al "Cuadro de diálogo Agregar referencia"

http://dhakshinamoorthy.wordpress.com/2011/12/04/how-to-register-your-net-assembly-in-gac-and-make-it-show-in-add-reference-dialog/


He hecho un "Paquete de actualización: reinstalar Microsoft.AspNet.Mvc" para solucionarlo en Visual Studio 2015.


Instalar MVC directamente en su servidor web es una opción, ya que entonces los ensamblajes se instalarán en el GAC. También puede desplegar los ensamblajes, lo que podría ayudar a mantener a su servidor alejado de los ensamblajes previos al lanzamiento hasta que esté disponible un lanzamiento final.

Phil Haack publicó un buen artículo hace un par de días sobre cómo implementar MVC junto con su aplicación, por lo que no es necesario instalarlo directamente:

http://www.haacked.com/archive/2008/11/03/bin-deploy-aspnetmvc.aspx


Me encontré con el mismo problema que sgriffinusa. Además de las referencias, el artículo de Phil sugiere: http://www.haacked.com/archive/2008/11/03/bin-deploy-aspnetmvc.aspx . He añadido estos:

* Microsoft.Web.Infrastructure * System.Web.Razor * System.Web.WebPages.Deployment * System.Web.WebPages.Razor

Godaddy Deployment funcionó perfectamente. Desactive los errores personalizados y agregue referencias para corregir los errores. Eso debería llevarte en la dirección correcta.


Me encontré con este mismo problema al intentar implementar mi aplicación web MVC3 Razor en el alojamiento compartido de GoDaddy. Hay algunos .dlls adicionales que necesitan ser referenciados. Detalles aquí: http://paulmason.biz/?p=108

Básicamente, debe agregar referencias a lo siguiente además de las que se enumeran en la publicación de @ Haacked y configurarlas para que se implementen localmente como se describe.

  • Microsoft.Web.Infrastructure
  • System.Web.Razor
  • System.Web.WebPages.Deployment
  • System.Web.WebPages.Razor

Queremos agregarlo porque estamos creando una biblioteca de clases que lo usa.

Para mí está aquí ...

C:/Program Files (x86)/Microsoft ASP.NET/ASP.NET MVC 4/Assemblies


Si NO está utilizando un proveedor de alojamiento y tiene acceso al servidor para instalar ... Luego instale las herramientas de actualización de MVC 3, haga eso ... le ahorrará muchas horas de problemas en un servidor Windows 2003 / máquina IIS6. , Comenté en esta página aquí Nuget.Core.dll número de versión no coincide


También verifique la versión del ensamblaje en web.config dentro de su carpeta de Vistas y asegúrese de que coincida. A veces olvido que hay un segundo web.config en esa ubicación.


Tuve el mismo problema con un montón de archivos de ensamblaje después de mover el proyecto a otra solución.

Para mí, el archivo web.config intentaba agregar este ensamblaje:

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

Pensé que la referencia en el proyecto apuntaba hacia la versión 3.0.0.0 (haga clic en la referencia y desplácese hasta la parte inferior de las propiedades). Por lo tanto, acabo de cambiar la versión de referencia en el archivo web.config .

No sé si esto fue sólo un error de algún tipo. El problema con la adición de todas las demás referencias fue que las referencias aparecieron en el archivo de configuración, pero en realidad no se hizo referencia en absoluto en el proyecto (dentro del explorador de soluciones) y los archivos necesarios no se copiaron con el resto de los archivos del proyecto. probablemente debido a no ser "copy local = true"

Ahora, no pude encontrar estos ensamblajes en los ensamblajes que se pueden agregar (haciendo clic con el botón derecho en la referencia e intentando agregarlos desde los ensamblajes o extensiones). En su lugar, creé una nueva solución MVC que agregaba todos los ensamblajes y referencias que necesitaba, y encontrándolos bajo las nuevas referencias de proyectos en el explorador de soluciones y encontrando su ruta en la ventana de propiedades para la referencia.

Luego copié las bibliotecas que necesitaba en el otro proyecto y las referenciaba.


Tuvo el mismo problema y agregó todo el ensamblaje que dijeron pero aún así obtuvo el mismo error.

Resulta que debes hacer que la " Versión específica " = Falso.


Una consideración importante es el archivo web.config. Algunos paquetes pueden alterar sus redirecciones de enlace causando estragos (el paquete fraudulento estaba en el paquete interno y no eliminé web.config del paquete ni me aseguré de que web.config estuviera en el paquete no tiene ninguna redirección de enlace. Por ejemplo, al eliminar el nodo duplicado e incorrecto se resuelve esto

<runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31BF3856AD364E35" culture="neutral"/> <bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0"/> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35"/> <bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0"/> <assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" culture="neutral"/> <bindingRedirect oldVersion="0.0.0.0-3.0.1.0" newVersion="3.0.1.0"/> <assemblyIdentity name="Microsoft.Owin.Security.OAuth" publicKeyToken="31bf3856ad364e35" culture="neutral"/> <assemblyIdentity name="Microsoft.Owin.Security" publicKeyToken="31bf3856ad364e35" culture="neutral"/> <assemblyIdentity name="Microsoft.Owin.Security.Cookies" publicKeyToken="31bf3856ad364e35" culture="neutral"/> <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral"/> <bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0"/> <assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" culture="neutral"/> <bindingRedirect oldVersion="0.0.0.0-1.6.5135.21930" newVersion="1.6.5135.21930"/> <assemblyIdentity name="Antlr3.Runtime" publicKeyToken="eb42632606e9261f" culture="neutral"/> <bindingRedirect oldVersion="0.0.0.0-3.5.0.2" newVersion="3.5.0.2"/> <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35"/> <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0"/> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35"/> <bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0"/> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.Owin.Security" publicKeyToken="31bf3856ad364e35" culture="neutral"/> <bindingRedirect oldVersion="0.0.0.0-3.0.1.0" newVersion="3.0.1.0"/> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" culture="neutral"/> <bindingRedirect oldVersion="0.0.0.0-3.0.1.0" newVersion="3.0.1.0"/> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral"/> <bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0"/> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" culture="neutral"/> <bindingRedirect oldVersion="0.0.0.0-1.6.5135.21930" newVersion="1.6.5135.21930"/> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.Owin.Security.Cookies" publicKeyToken="31bf3856ad364e35" culture="neutral"/> <bindingRedirect oldVersion="0.0.0.0-3.0.1.0" newVersion="3.0.1.0"/> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.Owin.Security.OAuth" publicKeyToken="31bf3856ad364e35" culture="neutral"/> <bindingRedirect oldVersion="0.0.0.0-3.0.1.0" newVersion="3.0.1.0"/> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="SimpleInjector" publicKeyToken="984cb50dea722e99" culture="neutral"/> <bindingRedirect oldVersion="0.0.0.0-3.3.2.0" newVersion="3.3.2.0"/> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Antlr3.Runtime" publicKeyToken="eb42632606e9261f" culture="neutral"/> <bindingRedirect oldVersion="0.0.0.0-3.5.0.2" newVersion="3.5.0.2"/> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="HtmlAgilityPack" publicKeyToken="bd319b19eaf3b43a" culture="neutral"/> <bindingRedirect oldVersion="0.0.0.0-1.4.9.5" newVersion="1.4.9.5"/> </dependentAssembly> </assemblyBinding> </runtime>

Al eliminar las líneas 8 a 24 se arregla la construcción.


Solución rápida y simple: Me enfrenté a este problema con Microsoft.AspNet.Mvc -Versión 5.2.3 y, después de analizar todos estos hilos, encontré la solución más sencilla.

Solo sigue los pasos:

  1. Abra NuGet Package Manager en Visual Studio para su proyecto
  2. Buscar Microsoft.AspNet.Mvc
  3. Cuando se encuentre, cambie la acción para Desinstalar y Desinstalar
  4. Una vez hecho esto, instálalo de nuevo y pruébalo ahora.

Esto solucionará automáticamente todos los problemas con referencias. Ver imagen abajo: