早安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的发展,于是自己很 ...
随机推荐
- Qt 5.7设置调试器
mingw版本下自带的,这个我就不在赘述. 现在来说一下msvc版本下调试器,cdb,这个需要到ms去下载. thunder://QUFodHRwOi8vZG93bmxvYWQubWljcm9zb2Z ...
- (bzoj2330)糖果
2330: [SCOI2011]糖果 Time Limit: 10 Sec Memory Limit: 128 MB Description 幼儿园里有N个小朋友,lxhgww老师现在想要给这些小朋 ...
- ubuntu14.04上Trac配置记录
系统环境:ubuntu14.04 (并假设Apache2服务可以正常运行) 1. 安装软件: sudo aptitude install trac python-mysqldb 2. 创建数据库Tra ...
- gulp 配置前端项目打包
项目发布时,需要对项目js文件进行压缩,混淆,连接等操作以减小项目http请求,加快访问. gulpjs.com中有很多插件可以用来配置打包部署. 需要用的常用插件有: gulp-jsmin 压缩j ...
- 【Visual Lisp】两种出错处理方式
两种出错处理方式:一种是对出错函数进行重定义,一种是对错误进行捕捉处理. ;;============================================================= ...
- 比较C++和C#的一个性能问题
C++:只要你的代码正确,算法良好,你比较少关注性能问题,编译器会替你搞定绝大部分工作 C#:你的代码正确,算法良好,你还得用工具去分析优化性能,JIT为了快速工作,很多优化工作没有深入开展. 手工优 ...
- Android发展演变与开发环境搭建
本人也算是一名比较会玩的Android手机用户,常常关注Android发展的最新情况,并且每年都会熬夜看谷歌的I/O大会,总会第一时间刷入最新的Android版本.接下来简单谈一下Android版本的 ...
- 深入浅出C#中的静态与非静态
C#语言静态类 vs 普通类 C#语言静态类与普通类的区别有以下几点: 1)C#语言静态类无法实例化而普通类可以: 2)C#语言静态类只能从System.Object基类继承:普通可以继承其它任何非 ...
- mysql获取所有分类的前n条记录的两种方法浅析
项目中有个需求是获取出展会分类下的前n条展商. 刚开始的思路是用group by 获取出展会的分类,后面再根据分类获取该分类下的n个展商,但也需要第一次获取出展会的时候也获取所有的每个展会分类下的 ...
- android 开发禁止系统修改app的字体大小
重写activity的getResources方法,一般在BaseActivity中重写就好了,其他activity继承BaseActivity //设置字体大小不随手机设置而改变 @Override ...