VS2003 向 VS2005 过渡的问题

 
[时间: 2006-5-15 18:58:07 作者:稻香老农 ]

来源: 化境编程网


  我使用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><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出现了。

你可能感兴趣的:(2003)