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