早安Visual Studio!一次重构之旅,夏洛特烦恼
vs问题描述
我的IDE版本是vs2013,今天新开发了一个功能,是一个接口程序,当F5调试时,出现了莫名的错误,为什么呢?因为vs弹出了下面的一个框,只说是“未将对象引用设置到对象实例“。

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

尝试解决...
分析代码,上面异常堆栈里提到的”d:\SourceProject\ExamineItem\trunk\IpsosDataSubscriber\IpsosWeb\Handle\HttpHandlerBase.cs:46“的46行,是捕获异常后的一个throw语句。

于是,注释掉try..catch语句,并在主入口方法的第一行加断点, F5开启调试,结果呢? vs的反应还是跟上面的一样。 令人费解的是,错误指向的还是第46行,我都已经注释掉了呀~
继续尝试解决...
其实这种情况,我近几个月倒是出现过几次,也忘记怎么解决的了。 发誓这回解决之后,一定要记录下来。
如下罗列我的解决过程:
● 对要调试的web项目,先清理,再重新生成,依然如故。
● 对整个解决方案,先清理,再重新生成,依然如故。
● 重要的事情做三遍, 清理清理再清理,生成生成再生成,依然如故。
● MD,关掉vs,等几分钟再打开,依然如故。
● 微软呀,,,我也是醉了。 来个釜底抽薪的办法——重启电脑,——依然如故!
● 这是肿么了呀! 难道是我人品的问题?————代码提交,去身边同事电脑上尝试调试。————原来,他那里也是如此。
这的确令人费解,这是老盖留下的bug? ————我向来相信一切都有原因,没有空穴来风似的所谓的”不知道怎么回事就这样了“这样的话。
我跟旁边的另一个同事调侃,这么一聊,他的一个小小的建议指点了我的迷津。他说了什么呢?
“清理命令不行的话,手工把bin里的东西都清掉,然后再调试”。
这么一弄,调试时,终于正常了,出现了下面的我们可以“看懂”的黄页了:

看到这个,一下就知道为什么出错了,原来是我前几天重构代码时,修改了项目的程序集名称和命名空间,而遗漏了对.ashx文件里的标记的修改。
后记
我留意了一下之前清理了项目后bin里后遗留的文件,是重构之前的程序集。 为什么我修改了程序集和命名空间后, 重新生成的bin里会包含这些旧程序集文件呢? 以后有时间再续。

早安Visual Studio!一次重构之旅,夏洛特烦恼的更多相关文章
- visual studio 2013 快捷键大全、VS2013常用快捷键
Visual Studio 2013 是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具.代码管控工具.集成开发环境(IDE)等等.VS 2013 中新增了很多提高 ...
- visual studio 2013常用快捷键 VS2013快捷键大全
visual studio 2013常用快捷键 VS2013快捷键大全 Visual Studio 2013 是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具 ...
- Visual Studio 2017 Enterprise (15.3)
版本15.3更新在用户离线下载时更加人性化,包含了进度显示,下载出错可以输入R,进行下载的重新尝试,并在当前下载框下继续下载为完成的作业,结合 --layout 参数的离线文件的检查和修复,并且在下载 ...
- 通过设置启用 Visual Studio 默认关闭的大量强大的功能提升开发效率
原文:通过设置启用 Visual Studio 默认关闭的大量强大的功能提升开发效率 使用 Visual Studio 开发 C#/.NET 应用程序,以前有 ReSharper 来不足其各项功能短板 ...
- VS插件CodeRush for Visual Studio发布v19.1.5|新的Inline Lambda重构
CodeRush是一个强大的Visual Studio .NET 插件,它利用整合技术,通过促进开发者和团队效率来提升开发者体验.CodeRush能帮助你以极高的效率创建和维护源代码.Consume- ...
- Apworks框架实战(四):使用Visual Studio开发面向经典分层架构的应用程序:从EasyMemo案例开始
时隔一年,继续我们的Apworks框架之旅.在接下来的文章中,我将逐渐向大家介绍如何在Visual Studio中结合Apworks框架,使用ASP.NET Web API和MVC来开发面向经典分层架 ...
- docker4dotnet #3 在macOS上使用Visual Studio Code和Docker开发asp.net core和mysql应用
.net猿遇到了小鲸鱼,觉得越来越兴奋.本来.net猿只是在透过家里那田子窗看外面的世界,但是看着海峡对岸的苹果园越来越茂盛,实在不想再去做一只宅猿了.于是,.net猿决定搭上小鲸鱼的渡轮到苹果园去看 ...
- Visual Studio Code预览版Ver 0.3.0试用体验
当你开始阅读这篇文章时,请先不要把Visual Studio Code和.net.Windows联想到一起,因为VS Code是一个跨平台,支持30多种语言的开箱代码编辑器.不管你是.Net.Java ...
- visual studio for mac的安装初体验
微软2016 Connect 大会发布了visuo studio for mac的pre版本,由于工作原因,现在工作环境是mac,虽然开发现在是在用python,但一直关注着.net的发展,于是自己很 ...
随机推荐
- css3之景深
perspective属性:(目前仅仅支持-webkit-perspective属性,视点距离) 值:number perspective-origin属性:(视点位置) 值:number% numb ...
- 由Selenium1转变为Selenium2所遇到的问题
1.使用ant脚本运行测试,报NoClassDefError,但使用junit方式运行或debug,都没有错误. 原因:找不到包,但具体是哪个包,不清楚:且为何使用junit方式运行就没有问题,也不清 ...
- Ubuntu上安装Minecraft服务器
Minecraft由于其独特的魅力吸引了很多玩家.不过游戏的乐趣只有在和朋友一起玩的时候才最有意思,所以很早以前我就想建设自己的服务器.但由于专业知识欠缺,没有实现. 最近接触了Linux服务器,所以 ...
- Java中的equals和hashCode方法
本文转载自:Java中的equals和hashCode方法详解 Java中的equals方法和hashCode方法是Object中的,所以每个对象都是有这两个方法的,有时候我们需要实现特定需求,可能要 ...
- eclipse/myeclipse sublime 实时更新文件改变
情形: 在使用eclipse/myeclipse开发的时候, 像JS 或者HTML 以及一些操作时,sublime 的效率比eclipse/myeclipse要快,所以我们就可以使用这两者一起开发. ...
- android中布局文件中 layout_weight 的属性详解
在不同的情况下,layout_weight属性作用是不同的.主要有两种属性: 1.当布局中的控件的尺寸(宽和高)都有指定时,它所表示的该控件在父容器中的比重,及它在父容器中所占的比例,数值越大,比重越 ...
- Struts2中获取servlet API的几种方式
struts2是一个全新的MVC框架,如今被广大的企业和开发者所使用,它的功能非常强大.这给我们在使用servlet 纯java代码写项目的时候带来了福音.但是一般来说,我们的项目不到一定规模并不需要 ...
- 前端html、Javascript、CSS技术小结
简单地总结了一下前端用过的html.javascript.css技术,算是清点一下,做个大略的小结,为进一步的学习给个纲领. 一.HTML 由于HTML5的兴起,简单地判断一个网页是否是html5网页 ...
- 模态窗口用webdriver定位不到,可用java+sikuli实现
一.安装sikuli(参见:http://lijunwei1228ok.blog.163.com/blog/static/97383797201311279595821/) 1.官网:http://w ...
- nginx实时记录请求状态信息( ngx_realtime_request_module)
cd /usr/local/src/ wget "http://nginx.org/download/nginx-1.4.2.tar.gz" tar -xzvf nginx.tar ...