zoukankan      html  css  js  c++  java
  • 早安Visual Studio!一次重构之旅,夏洛特烦恼

    vs问题描述

    我的IDE版本是vs2013,今天新开发了一个功能,是一个接口程序,当F5调试时,出现了莫名的错误,为什么呢?因为vs弹出了下面的一个框,只说是“未将对象引用设置到对象实例“。

    点击”确定“或”继续“后,就直接跳到如下黄页了。

    尝试解决...

    分析代码,上面异常堆栈里提到的”d:SourceProjectExamineItem runkIpsosDataSubscriberIpsosWebHandleHttpHandlerBase.cs:46“的46行,是捕获异常后的一个throw语句。

    于是,注释掉try..catch语句,并在主入口方法的第一行加断点, F5开启调试,结果呢? vs的反应还是跟上面的一样。 令人费解的是,错误指向的还是第46行,我都已经注释掉了呀~

    继续尝试解决...

    其实这种情况,我近几个月倒是出现过几次,也忘记怎么解决的了。 发誓这回解决之后,一定要记录下来。

    如下罗列我的解决过程:
    ● 对要调试的web项目,先清理,再重新生成,依然如故。
    ● 对整个解决方案,先清理,再重新生成,依然如故。
    ● 重要的事情做三遍, 清理清理再清理,生成生成再生成,依然如故。
    ● MD,关掉vs,等几分钟再打开,依然如故。
    ● 微软呀,,,我也是醉了。 来个釜底抽薪的办法——重启电脑,——依然如故!
    ● 这是肿么了呀! 难道是我人品的问题?————代码提交,去身边同事电脑上尝试调试。————原来,他那里也是如此。

    这的确令人费解,这是老盖留下的bug? ————我向来相信一切都有原因,没有空穴来风似的所谓的”不知道怎么回事就这样了“这样的话。

    我跟旁边的另一个同事调侃,这么一聊,他的一个小小的建议指点了我的迷津。他说了什么呢?

    “清理命令不行的话,手工把bin里的东西都清掉,然后再调试”。

    这么一弄,调试时,终于正常了,出现了下面的我们可以“看懂”的黄页了:

    看到这个,一下就知道为什么出错了,原来是我前几天重构代码时,修改了项目的程序集名称和命名空间,而遗漏了对.ashx文件里的标记的修改。

    后记

    我留意了一下之前清理了项目后bin里后遗留的文件,是重构之前的程序集。 为什么我修改了程序集和命名空间后, 重新生成的bin里会包含这些旧程序集文件呢? 以后有时间再续。

  • 相关阅读:
    实现JavaScript自定义函数的整合、链式调用及类的封装
    jQuery事件
    jQuery特效
    jQuery基础细节
    CSS3盒模型
    主流清浮动方法
    JavaScript 执行环境及作用域
    JavaScript 参数传递与变量复制
    PHP雪花背景验证码
    Linkis 0.9.2 版本发布
  • 原文地址:https://www.cnblogs.com/buguge/p/4915268.html
Copyright © 2011-2022 走看看