c# - update - System.Web.Mvc no funciona como se esperaba después de la actualización de Windows
update mvc c# (10)
A medida que el parche se incrementó, el número de versión aumentó (para MVC4 aumentó de 4.0.0.0 a 4.0.0.1), la ruta de referencia en los archivos del proyecto debe cambiar de:
<Reference Include="System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<Private>True</Private>
<HintPath>../bin/System.Web.Mvc.dll</HintPath>
</Reference>
a
<Reference Include="System.Web.Mvc, Version=4.0.0.1, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>../bin/System.Web.Mvc.dll</HintPath>
</Reference>
Obviamente, ajuste la ruta de la pista según corresponda y realice cambios similares para otras versiones de MVC
Después de la actualización de Windows de ayer, parece que tengo problemas para construir mis proyectos.
Related Windows Updates could be:
ASP.NET MVC 2.0: KB2993939
ASP.NET MVC 3.0: KB2993937
ASP.NET MVC 4.0: KB2993928
ASP.NET MVC 5.0: KB2992080
ASP.NET MVC 5.1: KB2994397
Todos estos errores parecen estar relacionados con el espacio de nombres
System.Web.Mvc
que verifiqué;
todavía se está asociando con el proyecto en
References
.
¿Qué podría haber salido mal con mi proyecto MVC durante la actualización de Windows y cómo debo corregirlo?
Aquí está el registro que indica las actualizaciones administradas hoy:
Este problema estuvo presente para mí. Sin embargo, la solución se simplificó mucho más que usar nuget para arreglar o realizar actualizaciones en web.config. Mi problema se resolvió actualizando manualmente el texto en {ProjectName} .csproj desde
Referencia Incluir = "System.Web.Mvc, Versión = 3.0.0.1 , Culture = neutral, PublicKeyToken = 31bf3856ad364e35, processorArchitecture = MSIL"
a
Referencia Incluir = "System.Web.Mvc, Versión = 3.0.0.0 , Culture = neutral, PublicKeyToken = 31bf3856ad364e35, processorArchitecture = MSIL", y registrando los cambios, y ejecutando una compilación en la máquina del agente de compilación, que, para mí, fue TeamCity.
Aunque esto causó errores de compilación localmente, resolvió los errores de compilación de control de origen / Team City.
Me doy cuenta de que esto no me permite construir localmente, sin tener que hacer cambios en el archivo csproj. Sin embargo, después de registrar el cambio como lo hice anteriormente (cambiándolo de 3.0.0.1 a 3.0.0.0), puedo actualizar el proyecto localmente para usar la nueva versión (3.0.0.1), y simplemente no registrar los cambios en csproj . Me imagino que alguien puede tener un escenario similar.
Hay dos formas de solucionar esto:
Opción 1: Agregue Microsoft.AspNet.Mvc usando NuGet
Use NuGet para agregar la última revisión de la versión MVC de la que depende a su proyecto. Microsft recomienda este enfoque.
Opción 2: actualizar la referencia del ensamblaje
Si agrega una nueva referencia de ensamblaje a su proyecto, verá que los ensamblados System.Web.Mvc ahora están versionados x.0.0.1.
Fuente: blogs.msdn.com/b/webdev/archive/2014/10/16/…
Sugeriría contra intentar sin rodeos reinstalar MVC. Aunque al final funcionó para mí, tendrás problemas con NuGet incluido con el instalador MVC.
Debe desinstalar NuGet antes de reinstalar MVC porque NuGet aún está presente y hace que el instalador de MVC se niegue a instalar o falle.
Además, no veo por qué reinstalar MVC evitará que Windows Update vuelva a aplicar la actualización después de reinstalar MVC.
Intenté la solución de mh28 , que propuso lo siguiente:
Las actualizaciones recientes tienen números de versión incrementados
3.0.0.0 -> 3.0.0.1 y 4.0.0.0 -> 4.0.0.1
Tuve que eliminar la referencia y volver a agregar (System.Web.Mvc se encuentra en Ensamblajes> Las extensiones son del cuadro de diálogo Agregar referencia)
Además de eso, también se sugirió que ejecutara Buscar y reemplazar en todo mi ámbito de interés; Lo intenté, pero fallé. Parece que Buscar y reemplazar no se aplica a los archivos .csproj.
Lo que hice después fue encontrar una herramienta de reemplazo de texto (ver Ecobyte Reemplazar texto ) y ejecutar el programa usando la siguiente configuración:
Todos mis proyectos se construyeron de acuerdo con lo normal a partir de entonces, y no veo ningún efecto secundario (a pesar de no hacer ningún cambio en los archivos
web.config
).
No estoy seguro (y no creo) que esta sea la mejor solución, y no creo que sea una bala de plata para todos los problemas de
System.Web.Mvc
afectados por la Actualización de Windows relacionada con la seguridad para .NET, pero creo que sería útil para casos específicos en los que hay muchos proyectos a los que volver a hacer referencia.
Intente instalar / reparar ASP.NET MVC utilizando las últimas versiones de paquetes MSI disponibles desde here .
Si usa
bindingRedirect
en
web.config
, podría ser necesario (no fue necesario en mis proyectos) para actualizar las secciones también.
Ver
la respuesta
Todavía no sirve de nada. Recomendaría examinar
otros
archivos web.config en su proyecto, como
~/Views/web.config
por ejemplo.
Las actualizaciones recientes tienen números de versión incrementados
3.0.0.0 -> 3.0.0.1 y 4.0.0.0 -> 4.0.0.1
Tuve que eliminar la referencia y volver a agregar (System.Web.Mvc se encuentra en Ensamblajes> Las extensiones son del cuadro de diálogo Agregar referencia)
Tenemos el mismo problema.
Microsoft cambió la versión de 3.0.0.0 a 3.0.0.1
Supongo que esta es la razón por la cual Visual Studio no puede encontrar la referencia, porque la configuración regular es "Usar versión específica - verdadero".
En mi caso, no puedo cambiar la configuración a falso, porque estoy usando Mvc4 en la misma máquina y usaría automáticamente la versión 4 dll.
Una solución es eliminar la referencia del proyecto de System.Web.Mvc.dll y agregarla nuevamente. Entonces VS usará la versión-3.0.0.1-DLL como referencia.
Tengo el mismo problema hoy después de la actualización de Windows. Ahí está mi solución.
Install-Package Microsoft.AspNet.Mvc -Version 5.2.0.0 -Project PROJECTNAME
También puede intentar usar estos códigos, tal vez ayude.
Uninstall-Package Microsoft.AspNet.Mvc -Force
Buena suerte.
Tuve el mismo problema recientemente.
Después de Windows Update, mi proyecto en Visual Studio de repente tenía más de 500 errores, todos relacionados con system.web.mvc
Así que eliminé la referencia y la volví a agregar, que se encuentra en C: / Archivos de programa (x86) / Microsoft ASP.NET / ASP.NET MVC 3 / Assemblies
Genial - compila proyectos.
Póngalo en el sitio: obtenga "No se puede cargar uno o más de los tipos solicitados. Recupere la propiedad LoaderExceptions para obtener más información"
Después de mucho perder el tiempo, fui al sitio, descargué la versión allí, lo mencioné, funcionó en mi computadora portátil Y en el sitio
¡¡¡¡¡¡¡Uf!!!!!!!
Vuelva a instalar el ensamblaje MVC
enlace de descarga: http://www.microsoft.com/en-US/download/details.aspx?id=30683