早安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的发展,于是自己很 ...
随机推荐
- GridView基础知识
首先,gridview是封装好的,直接在设计界面使用,基本不需要写代码: 1.绑定数据源 GridView最好与LinQDatasourse配合使用,相匹配绑定数据: 2.外观控制 整体控制 自动选择 ...
- MyBatis使用动态SQL标签的小陷阱
现在MyBatis越来越受大家的喜爱了,它的优势大家都知道,我就不多说了,直接说重点. MyBatis中提供动态SQL功能,我们可以使用<if><when><where& ...
- Ubuntu系统网卡IP配置方法
主要文件为:/etc/network/interfaces 在没有任何配置的情况下,其内容为以下两行: auto loiface lo inet loopback 配置网口为动态获取IP的,在末尾加上 ...
- A List of Social Tagging Datasets Made Available for Research
This list is not exhaustive - help expand it! Social Tagging Systems Research Group Source Year Obta ...
- zmq学习笔记
1 zmq_socket(3) Manual Page 1.1 一个socket可连接多个对端socket: 通过使用多个zmq_connect() 1.2 一个socket可绑定到多个地址上接受连接 ...
- javascript基础知识-类和模块
在JavaScript中可以定义对象的类,让每个对象都共享这些属性. 在JavaScript中,类的实现是基于其原型继承机制的.如果两个实例都从同一个原型对象上继承了属性,我们就说它们是同一个类的实例 ...
- C# IGUID的生成
GUID(全局统一标识符)是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的.通常平台会提供生成GUID的API.生成算法很有意思,用到了以太网卡地址.纳秒级时间.芯片ID码和许多可 ...
- If you really want to compile without asm, configure with --disable-asm.
真是一个奇葩问题,对我来说是的,完全不知道是什么意思,但是他就是出现了. 找到了一个相关问题http://trac.ffmpeg.org/wiki/How%20to%20quickly%20compi ...
- 《TCP/IP高效编程:改善网络程序的44个技巧》源码在Linux上的编译
为了先完整编译通过,需要以下几个步骤: 1.进入linux子目录,执行 make.(此步骤为打补丁.) 2.返回上一级目录,打开文件 simplec.c,添加头文件 #include <stdi ...
- 怎么让让整个HTML页面变灰
怎么让让整个HTML页面变灰 其实很简单,我们只需要一句话. html {filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1 ...