VS2003 转 VS2005 常见的问题解决

作者:网络 来源:佚名 更新时间:2008-10-08 00:15:20 点击:

  我使用asp.net已经3年了,刚开始是使用手动编写,后来使用 vs2003,又从 .net framework 1.0 升级至 1.1 ,一直都没有问题。
  这段时间,由于要开发手机应用,准备从 vs2003 向 vs2005 过渡。在没有看过两者有什么区别前,我就尝试将原来的 vs2003的项目转换成vs2005的项目。转换结束后,出现了一大堆的错误,而且很多文件都导不进vs2005的项目中。经仔细研究后发现,我的程序.aspx 文件中引用了web控件,在.cs文件中申明为 public ,但他要求是 protected。如:
我申明为: public label ctlmsg;  (申明为 public 是个不好的习惯)

正确的应该是: protected label ctlmsg;
所以在转换项目前,要先把所有申明为 public 的控件修改为 protected ,再转换,否则这个文件就无法导入到项目中。
  当我把所有申明为 public 的控件修改为 protected 后,转换成功了。我在vs2003中看了一下项目,所有文件都转换过来了。
  本以为可以正常使用了,我正高兴地去编译程序,又发现无法编译通过,出了很多错误。


  错误1:validation (internet explorer 6): .....................
  说明:网页的html代码不符合规范,如: <table>[color=#ff0000]<form><tr></tr></form></table>
  解决: 菜单 tools => options => text editor => html => validation  取消 show errors


  错误2:error 1 missing partial modifier on declaration of type 'index'; another partial declaration of this type exists d:\root\www.5xsoft.com\index.aspx.cs 12 14 d:\root\www.5xsoft.com\
  说明:从网页中继承出来的类的要加上 partial 申明
  如 public class index : system.web.ui.page
  解决:加上 partial 如 public partial class index  : system.web.ui.page

  错误3:error 1 the type 'zsweb.article' already contains a definition for 'ctltitle' d:\root\www.5xsoft.com\article.aspx.cs 20 25 http://localhost/www.5xsoft.com/
  说明:vs2003中,使用web控件要在.cs中申明后才能使用,但在 vs2005中默认不能申明。
  解决:删除.cs文件中的 web 控件声明。如删除 protected label ctltitle;
  小结:其实这里,我绕了一个圈,在转换项目前,直接把 web 控件声明删除掉,就不会有错误3出现了。