首页 新闻 论坛 小组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 第二书店 程序员

logo

您的位置:CSDN 首页−>新闻频道−>正文

鸡肋烹制出的美味——真正可调试的ASP.NET AJAX

2007.04.28  来自:blog      共有评论(0)条 发表评论    收藏

鸡肋般的源码。ASP.NET AJAX的源代码的确发布了,并且提供了pdb文件,也就是说,我们现在可以用它来调试了。鸡肋也能烹制美味。谁说鸡肋不能烹制美味?现在,ASP.NET AJAX已经成为您解决方案中的一个工程了,您可以

鸡肋般的源码

  ASP.NET AJAX的源代码的确发布了,并且提供了pdb文件,也就是说,我们现在可以用它来调试了。

  但是它真的够用吗?不知道各位朋友们有没有真的用它跟踪到代码中去,至少我用下来之后非常的不满意。

  • 代码分散在每个文件中,IDE的Go to Definition等功能无法使用。
  • 代码文件不能有丝毫修改,否则pdb里面记录的行号就无法与源代码对应。
  • 在调试时查看对象的属性或成员时,经常会遇到如下的提示:“Cannot evaluate expression because the code of the current method is optimized.”,而无法查看属性或成员地值。

  其中最后一个问题最为关键,它严重阻碍了调试过程。可是这又有什么办法呢?在编译好的程序集里MSIL都得到了优化,它已经不是元文件直接编译的结果了。

  现在的源代码真是鸡肋。

 

鸡肋也能烹制美味

  谁说鸡肋不能烹制美味?

  官方给出了源代码,我们为什么不设法把它恢复成C#工程呢?于是我新建了一个C# Class Library,把源代码复制到工程中去。然后通过比较编译错误、运行错误以及使用.NET Reflector查看ASP.NET AJAX程序集,一点点补充丢失的资源和代码,费了九牛二虎之力总算比较完美地恢复了ASP.NET AJAX的程序集。

  享用这道美食的方法也非常简单,您只需要做以下几步就可以了:

  1. 下载工程文件和Web.config文件。
  2. 将压缩包解开,将System.Web.Extensions工程引入到您的解决方案中去。
  3. 为解决方案里必要的工程添加一个刚才新增的System.Web.Exetensions工程的引用,并删除对GAC里System.Web.Extensions.dll的引用。
  4. 修改Web.config,将所有的“, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”去除,您可以对照着压缩包里的Web.config文件进行编辑,或者直接使用这个文件。
  5. 重新编译。

  现在,ASP.NET AJAX已经成为您解决方案中的一个工程了,您可以任意修改它,任意对它进行调试。当调试完毕后,去除对于这个工程的引用,并且重新添加GAC里System.Web.Extensions.dll的引用即可。

原文:http://www.cnblogs.com/JeffreyZhao/archive/2007/02/06/ASP_NET_AJAX_Debugging_Project.html

发表评论 0条】
其他文章
相关文章
最近评论
正在载入评论列表...
热点评论

     
    网站简介广告服务网站地图帮助联系方式诚聘英才English问题报告
    北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号 世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved