代码改变世界

如何ASP.NET MVC 2 项目升级到 ASP.NET MVC 3

2012-05-11 16:28  蓝之风  阅读(2622)  评论(0编辑  收藏  举报

若要将现有 ASP.NET MVC 2 应用程序手动升级到版本 3,需要执行如下操作步骤:

 

1. 在您的计算机上新建一个空的 ASP.NET MVC 3 项目。此项目将包含升级所需的一些文件。

 

2. 将以下文件从 ASP.NET MVC 3 项目复制到您的 ASP.NET MVC 2 项目的相应位置中。您将需要更新对 jQuery 库的所有引用修改成新的库的名字 (jQuery-1.5.1.js)【MVC里使用的jQuery,带有版本号,给省升级带来了些麻烦】:

· /Views/Web.config

· /packages.config

· /scripts/*.js

· /Content/themes/*.*

 

3. 将空白 ASP.NET MVC 3 项目解决方案的根目录中的 packages 文件夹复制到您的解决方案的根目录(位于 .sln 文件所在的目录中)中。

 

4. 如果你的 ASP.NET MVC 2 项目包含任何区域,则将 /Views/Web.config 文件复制到每个Areas的 Views 文件夹中。

 

5. 在 ASP.NET MVC 2 项目的两个 Web.config 文件中,全局搜索并替换 ASP.NET MVC 版本。查找以下内容:

System.Web.Mvc, Version=2.0.0.0

将其替换为以下内容:

System.Web.Mvc, Version=3.0.0.0

 

6. 在“解决方案资源管理器”中,删除对 System.Web.Mvc 的引用(其指向版本 2 中的 DLL),然后,添加对 System.Web.Mvc (v3.0.0.0) 的引用。

 

7. 添加对 System.WebPages.dll 和 System.Web.Helpers.dll 的引用。这些程序集位于以下文件夹中:

· %ProgramFiles%\ Microsoft ASP.NET\ASP.NET MVC 3\Assemblies

· %ProgramFiles%\ Microsoft ASP.NET\ASP.NET Web Pages\v1.0\Assemblies

 

8. 在“解决方案资源管理器”中右击项目名称,然后选择“卸载项目”。然后,再次右击项目名称,并选择“编辑 项目名.csproj”。

 

9. 查找 ProjectTypeGuids 元素并将 {F85E285D-A4E0-4152-9332-AB1D724D3325} 替换为 {E53F8FEA-EAE0-44A6-8774-FFD645390401}。

 

10. 保存更改,右击项目,然后选择“重新加载项目”。

 

11. 在应用程序的根 Web.config 文件中,将以下设置添加到 assemblies 节中。

<add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

   <add assembly="System.Web.Helpers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

 

 

12. 如果项目引用任何使用 ASP.NET MVC 2 编译的第三方库,则将以下突出显示的 bindingRedirect 元素添加到应用程序根目录中的 Web.config 文件的 configuration 节下面。

<runtime> 

<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.0"/> 

</dependentAssembly> 

</assemblyBinding> 

</runtime>

 

13.将相关依赖的项目中的MVC assembly

System.Web.Mvc, Version=2.0.0.0

将其替换为以下内容:

System.Web.Mvc, Version=3.0.0.0

 

ok大功告成可以这样MVC2项目就成功升级到MVC3了。