I fixed this by:
- Removing the MVC reference and add the correct reference to the project.
- Changing the
Copy Local
property of the reference totrue
. - Update the
bindingRedirect
setting inweb.config
:
web.config runtime
section:
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.1" />
</dependentAssembly>
...
Changing the Copy Local
setting will include the System.Web.MVC.dll
file in the bin
folder when you publish the project, so that it works even if the server is not updated with the new version.
Note that updates like this rarely happens. This is the first time that MVC 3 has been patched since it was released. You should be able to change Copy Local
back to false
once the servers has been updated. The next time Microsoft makes an update like this, they will probably know to fix issues like this first.