After installing the ASP.NET MVC 3 security update KB2990942
it appears the MVC version increased from 3.0.0.0
to 3.0.0.1
. This causes Visual Studio to no longer find the reference.
<Reference Include="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" />
Resharper does not show any problems but the build fails with lots of unresolved MVC types and a warning:
Warning: Could not resolve this reference. Could not locate the assembly "System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors.
This kind of makes sense. This version no longer exists on my machine.
I cannot guarantee the exact MVC version on dev machines, build servers and production servers. They might have 3.0.0.0
or 3.0.0.1
and this might change at any time. Windows Update might release new MVC versions at any time. Also, I don't want to increase the version number in all *.csproj files whenever an MVC update is released.
Multiple versions are affected by the update:
- KB 2993939: Security Update for Microsoft ASP.NET MVC 2
- KB 2993937: Security Update for Microsoft ASP.NET MVC 3
- KB 2993928: Security Update for Microsoft ASP.NET MVC 4.0
- KB 2992080: Security Update for Microsoft ASP.NET MVC 5.0
The security bulletin: MS14-059: Vulnerability in ASP.NET MVC Could Allow Security Feature Bypass (2990942)
What's the best way to deal with this situation? How can I unbreak build and production and be safe regarding future MVC updates?
System.Web.MVC
not copied tobin
folder since MS14-059 – Lowrance