将Asp.net从VS2003以及VS2002工程转换为VS2005工程的简单而又行之有效的方法
我下了很多基于VS2003(以及VS2002)的Asp.net的Demo。而我用的是VS2005,我在使用这些Demo时,基本上绝大部分基于VS2003的Asp.net工程都因为少数文件无法转换而无法加载工程,我也为些郁闷了好久,后来终于让我找到了解决办法:
Asp.net基于VS2005的工程与以往版本的工程的最大区别就是用分部类(partial)取代了代码隐藏(Codebehind)。
于是我采取的方法是:
1. 用打开网站的方式打开这个工程。这样VS2005也会进行转换,而且也会报错,但与直接打解决方案无法加载不同的是,这一次它展开了网站的所有文件。如果你现在运行工程,也不会成功的。
2. 打开filename.aspx文件到源代码视图,将@Page指令中的属性“Codebehind”改为“CodeFile”,
3. 将与这对应的Codebehind文件filename.aspx.cs,将继承于System.Web.UI.Page的类定义class前加上partial关键字。
4. 运行该工程,它会提示你在filename.aspx中已经包含controlname的定义,跟踪错误到filename.aspx.cs,将那些被指示错误的重复定义删去。
5. 然后重复2-4步直至所有的文件都改过来,再运行工程应该就可以运行成功了。不过也许会报几个警告说某某已经过时,不用去管它。
我用这个方法将那些老顽固(包括2003以及2002的工程)都成功转换了,真的是屡试不爽。这只不过是我自己总结出来的方法,也许有人有更好的办法,如果有更好的方法也请指点。