Current filter:
                                You should refresh the page.
                                  • Sometimes, when I create an MVC project from the DevExpress Template or open an MVC demo, I get the error that the System.Web.Mvc cannot be found. How can I resolve this issue?

                                1 Solution

                                Creation Date Importance Sort by
                                Usually, this happens after an MVC version has been updated and the System.Web.Mvc assembly version is changed as a result. Thus, an MVC project can't locate the System.Web.Mvc assembly that it references to. For example, in Update 4 for VS 2013, the System.Web.Mvc assembly was updated from version 5.2.0.0 to version 5.2.2.0 (Visual Studio 2013 Update 4 (2013.4) RTM). As a result, an application that used MVC 5 now can't find the System.Web.Mvc assembly. Because of the KB2993937 security update for MVC, the System.Web.Mvc assembly was updated from version 3.0.0.0 to version 3.0.0.1. The same applies to other MVC versions (ASP.NET MVC security patch to version 3.0.0.1 breaks build).

                                To resolve this issue, modify the web.config file to redirect binding the System.Web.Mvc assembly to the version installed on your machine. For example, if you install VS 2013 Update 4, change System.Web.Mvc Binding Redirect Version from 5.2.0.0 to 5.2.2.0:

                                [XML]
                                <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> ... <dependentAssembly> <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" /> <bindingRedirect oldVersion="1.0.0.0-5.2.2.0" newVersion="5.2.2.0" /> </dependentAssembly> ... </ assemblyBinding>

                                And for MVC 3:

                                [XML]
                                <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" /> <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="3.0.0.1" /> </dependentAssembly> </assemblyBinding>

                                 
                                To determine what version of the System.Web.Mvc assembly you have installed on your machine, check the assembly version of this assembly in the %ProgramFiles%\Microsoft ASP.NET\ASP.NET MVC {MVC Version}\Assemblies and %ProgramFiles%\Microsoft ASP.NET\ASP.NET Web Stack 5\Packages\Microsoft.AspNet.Mvc.X.Y.Z\lib\net45 folders.

                                See Also:
                                An MVC project created using the Template Gallery does not redirect the System.Web.MVC assembly to the correct version in VS 2013 with Update 4
                                • esi pivotal 02.05.2015

                                  I am using VS 2012 update 4.

                                  For System.Web.Mvc, I referred to c:\Program Files\Microsoft ASP.NET\ASP.NET MVC 4\Assemblies\System.Web.Mvc.dll.
                                  ( VS tell me the version is 4.0.0.1.  )

                                  Web.Config( change version 4.0.0.0 -> 4.0.0.1)
                                       <dependentAssembly>
                                         <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
                                         <bindingRedirect oldVersion="3.0.0.0-4.0.0.1" newVersion="4.0.0.1" />
                                       </dependentAssembly>