To migrate, first delete the existing MVC2 DLL reference. Add MVC3 DLL reference. You need to also update your assemblies in web.config in assemblies section. For example, my project was in .NET framework 3.5 and MVC 2, the project web.config was:
<add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" />
<add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
Replace it with the following.
<add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Helpers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
update MVC 2 references in web.config in Views folder too. Also update the targetFramwork version to 4.0 like below.
<compilation debug="false" targetFramework="4.0">
After these changes, you need to update, Site, application pool to .NET Framework version 4.0, using IIS manager.
Update solution file too
When I done the above steps, I see that clicking on Add New Item still shows the MVC 2 project template. so I have modified the project type in solution file manually by replacing
{F85E285D-A4E0-4152-9332-AB1D724D3325};
with the below GUID
{E53F8FEA-EAE0-44A6-8774-FFD645390401};
The former GUID shows the project type is ASP.NET MVC 2 while the later shows ASP.NET MVC 3.