• Asp.net项目从Vs2003转换到Vs2005的常见问题大全及解决方法



    转自http://bbs.51aspx.com/showtopic-1075-1.html
    我下了很多基于VS2003(以及VS2002)的Asp.net的Demo。而我用的是VS2005,我在使用这些Demo时,基本上绝大部分基 于VS2003的Asp.net工程都因为少数文件无法转换而无法加载工程,我也为些郁闷了好久,后来终于让我找到了解决办法:)Êy[ê:ý´&bbs.51aspx.com›}xm‘e ÿù
    Asp.net基于VS2005的工程与以往版本的工程的最大区别就是用分部类(partial)取代了代码隐藏(Codebehind)。)Êy[ê:ý´&bbs.51aspx.com›}xm‘e ÿù
    于是我采取的方法是:)Êy[ê:ý´&bbs.51aspx.com›}xm‘e ÿù
    1.      用打开网站的方式打开这个工程。这样VS2005也会进行转换,而且也会报错,但与直接打解决方案无法加载不同的是,这一次它展开了网站的所有文件。如果你现在运行工程,也不会成功的。)Êy[ê:ý´&bbs.51aspx.com›}xm‘e ÿù
    2.      打开filename.aspx文件到源代码视图,将@Page指令中的属性“Codebehind”改为“CodeFile”,)Êy[ê:ý´&bbs.51aspx.com›}xm‘e ÿù
    3.      将与这对应的Codebehind文件filename.aspx.cs,将继承于System.Web.UI.Page的类定义class前加上partial关键字。)Êy[ê:ý´&bbs.51aspx.com›}xm‘e ÿù
    4.      运行该工程,它会提示你在filename.aspx中已经包含controlname的定义,跟踪错误到filename.aspx.cs,将那些被指示错误的重复定义删去。51aspx)Êy[ê:ý´&bbs.51aspx.com›}xm‘e ÿù
    5.      然后重复2-4步直至所有的文件都改过来,再运行工程应该就可以运行成功了。不过也许会报几个警告说某某已经过时,不用去管它。)Êy[ê:ý´&bbs.51aspx.com›}xm‘e ÿù
    )Êy[ê:ý´&bbs.51aspx.com›}xm‘e ÿù
    我用这个方法将那些老顽固(包括2003以及2002的工程)都成功转换了,真的是屡试不爽。这只不过是我自己总结出来的方法,也许有人有更好的办法,如果有更好的方法也请指点。 )Êy[ê:ý´&bbs.51aspx.com›}xm‘e ÿù
    )Êy[ê:ý´&bbs.51aspx.com›}xm‘e ÿù
    )Êy[ê:ý´&bbs.51aspx.com›}xm‘e ÿù
    vs2005可以很方便的帮我们把vs2003开发的asp.net1.1版本项目升级到vs2005开发的asp.net2.0版本,从vs2005里面打开vs2003的解决方案或者项目文件,会有向导帮我们自己完成升级工作。一部分asp.net1.1的项目做完这个工作就足够了。)Êy[ê:ý´&bbs.51aspx.com›}xm‘e ÿù
    不过更多的时候不会这么顺利,还要注意一些问题:)Êy[ê:ý´&bbs.51aspx.com›}xm‘e ÿù
    • vs2003开发的asp.net1.1程序,不会检查aspx、aspcx等文件中的语法错误51aspx,而vs2005会检查项目中所有的aspx、aspcx等文件中的语法,所以如果有语法错误,会导致编译无法通过。
    • vs2003中,如果用的是默认的代码绑定方式,那么在aspx文件(以aspx文件为例,ascx文件也有这个问题)中申明的服务器端控件,会在aspx文件对应的aspx.cs文件中,生成一个对应的申明,例如aspx中有一个TextBox,ID是MyTextBox,那么在aspx.cs中,会申明一个"protected TextBox MyTextBox;",而在vs2005中,这个申明是多余的,所以升级后要去除这些多余的申明。
    • 如果有程序采用了asp.net1.1下的Membership——使用MemberRole.dll,要升级到asp.net2.0下的Membership,需要做如下工作:
      • 删除所有项目中对"MemberRole.dll"的引用,添加"System.Configration"的引用
      • 改变命名空间ScalableHosting.Profile -> System.Web.Profile;ScalableHosting.Security -> System.Web.Security; 同时添加using System.Configuration; 51aspx.com
      • 移除所有MemberRole.dll相关的Membership配置,参照以前的Membership配置,增加asp.net2.0支持的Membership配置,更新Membership的存储过程。
    )Êy[ê:ý´&bbs.51aspx.com›}xm‘e ÿù

     

  • 相关阅读:
    录音 静音检测
    Busybox是什么?
    ubuntu 和VMWare共享数据时故障解决
    使用IStream和GDI+在内存中实现图像格式转换
    .Net 玩自动化测试
    【C#|.NET】跳出一致性Hash算法 打造更高效的分布式缓存
    【C#|.NET】从细节出发(一) 通用接口 aop dto 相关
    【linux+C】神器 vim + 指针相关客串
    【C#|.NET】分布式锁服务
    读书笔记: CLR篇 (让你了解C#.Net的实质) (20111219更新)
  • 原文地址:https://www.cnblogs.com/fantaohaoyou/p/1428860.html
Copyright © 2020-2023  润新知