.net - tutorial - La actualización de Windows provocó que MVC3 y MVC4 dejaran de funcionar
install mvc 4 visual studio 2017 (9)
Bueno,
Para mí fueron dos pasos simples:
Primero cambié todas las referencias a System.Web.Mvc de 4.0.0.0 a 4.0.0.1,
Luego tuve que ir a las propiedades de System.Web.Mvc (posiblemente porque lo había eliminado y vuelto a agregar) y cambiar la copia local a verdadero.
Espero que esto sea útil para alguien.
¿Soy el único que instaló una actualización de Windows (8.1) el 15 de octubre y de repente MVC dejó de funcionar debido a esta advertencia?
Advertencia 1 No se pudo resolver esta referencia. No se pudo encontrar el ensamblado "System.Web.Mvc, Version = 4.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35, processorArchitecture = MSIL". Verifique que el ensamblaje exista en el disco. Si su código requiere esta referencia, puede obtener errores de compilación.
Parece que esta actualización de Windows instala una versión más reciente de MVC con el número de versión 4.0.0.1 y elimina la versión anterior de la carpeta de archivos del programa.
¿Alguien sabe cómo solucionar esto sin rastrear cada proyecto?
Consulte este blog, la forma recomendada es actualizar el paquete NuGet correspondiente:
Citar:
El problema se puede resolver implementando una de las siguientes soluciones:
(Preferido) Instale Microsoft.AspNet.Mvc desde la galería NuGet (esto instalará una redirección de enlace en su web.config). Puede hacerlo desde el administrador de paquetes NuGet o la consola NuGet dentro de Visual Studio:
Install-Package Microsoft.AspNet.Mvc -Version -Project PROJECTNAME
Versión MVC 4: 4.0.40804.0
Versión MVC 3: 3.0.50813.1
Actualice manualmente la referencia a System.Web.MVC.dll (no use la del GAC).
Pruebe el cuadro de diálogo Agregar referencia -> Ensamblajes -> Extensiones.
Debe cambiar todas las referencias a System.Web.Mvc dentro de su solución. Simplemente elimínelos y agregue la nueva versión 4.0.0.1.
También en las propiedades cambie la
copy local
a verdadera.
Y en web.config agregue el enlace de ataque para apuntar a la nueva versión de mvc:
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.0.1" newVersion="4.0.0.1" />
</dependentAssembly>
</assemblyBinding>
</runtime>
La mejor solución es actualizar DLL a la versión 4.0.0.1. Intenta usar nuget:
Install-Package Microsoft.AspNet.Mvc -Version 4.0.40804 -Project <your project name>
Esto se actualizará automáticamente
<dependentAssembly> <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" /> <bindingRedirect oldVersion="0.0.0.0-4.0.0.1" newVersion="4.0.0.1" /> </dependentAssembly>
Solo tiene que editar la versión System.Web.Mvc manualmente en:
<compilation debug="true" targetFramework="4.0">
<assemblies>
<add assembly="System.Web.Mvc, Version=4.0.0.1, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
Para proyectos web, es posible que también deba actualizar la configuración en web.config:
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-4.0.0.0" newVersion="4.0.0.1"/>
</dependentAssembly>
Si todavía recibe el mismo error después de probar la solución @Krzysztof o cualquiera de las otras respuestas anteriores, una solución que podría funcionar para usted es desinstalar MVC Runtime 4.0
Tuve el mismo problema después de la actualización:
Actualización de seguridad para Microsoft ASP.NET MVC 4.0 (KB2993928)
http://support.microsoft.com/kb/2993928
Pero solo para proyectos con una referencia al System.Web.Mvc, no instalado por paquete.
Mi colega, que no había instalado Microsoft ASP.NET MVC 4.0 Runtime y no recibió la actualización, no tuvo problemas y todavía tenía la referencia a 4.0.0.0, no a 4.0.0.1
Cambié manualmente la referencia a 4.0.0.
1
, después del check-in, mi colega aún podría construir con una referencia a 4.0.0.
0
.
(Trabajando ambos en Win7 Pro SP1, VS2013 Pro Update 3)
Tuvimos que tocar manualmente cada .csproj para actualizar la versión de 4.0.0.0 a 4.0.0.1 para que nuestras compilaciones funcionen . Todo un dolor
Las nuevas referencias deberían verse así:
<Reference Include="System.Web.Mvc, Version=4.0.0.1, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" />
Vea esto: Microsoft Asp.Net MVC Security Update MS14-059 rompió mi compilación. MS escribió en su blog, ya que obviamente trajo mucha confusión