日期:2010-10-24  浏览次数:20536 次

我下了很多基于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的工程)都成功转换了,真的是屡试不爽。这只不过是我自己总结出来的方法,也许有人有更好的办法,如果有更好的方法也请指点。