今天在研究C#代码问题的时候遇到了一个Visual Studio的小问题。在Visual Studio 2013中,使用Find All References功能不能找到同一类型不同版本的所有引用,具体情况请见下面例子。

为了更方便的展示这个问题,我写了两段小代码测试。如下图,TestFindAllReferences1是基于.NET Framework 3.5的,TestFindAllReferences2是基于.NET Framework 4.5的,两个Project中都引用了SqlConnection类,根据Framework版本,TestFindAllReferences1中引用的是System.Data.dll v2.0.0.0版本,而TestFindAllReferences2中引用的是System.Data.dll v4.0.0.0版本。

这时在使用Visual Studio 2013的Find All References功能的时候,只能找到对应版本的SqlConnection引用,结果如下:

TestFindAllReferences1中只能找到引用System.Data.dll v2.0.0.0中SqlConnection的。

TestFindAllReferences2中只能找到引用System.Data.dll v4.0.0.0中SqlConnection的。

而在Visual Studio 2015中,结果就不一样了,可以找到所有的同类引用,尽管它们引用的Framework版本是不同的。如下图:

这里看来,可能是Visual Studio 2015的优化,更方便的查找引用(由于本人能力有限,找了好久也没有找到相关的微软说明,如果有哪位技术大牛找到了,请赐教)。

如果使用Visual Studio 2017,也能找到所有的同类引用,而且查找出来的结果更加美观,还支持分组:

Visual Studio 2017的更多改进功能可以看这里:https://blogs.msdn.microsoft.com/visualstudio/2017/03/07/visual-studio-2017-productivity-performance-and-partners/

这篇博文的内容可能有点微不足道,也或许被人称为垃圾文章,但是遇到这个Find All References的问题后,多想了一点,想给大家分享一点东西,所以写了出来(也是为自己提醒)。如有不对请轻点踩~

  • 当分析一个问题毫无思路、陷入怪圈的时候,试试换一个工具,换位思考,换一种思路,或许有新的发现;
  • 人往高处走,新的东西产生肯定有它好的地方,要敢于尝试新工具、新技术,学得越多会得越多,会得越多心越有底(意思不是盲目求新,具体还得根据自己需求);
  • 在同等条件、同等要求下,建议一定要使用最新最稳定的软件工具,这样能减少不必要的问题产生(如前一段时间的"永恒之蓝"病毒,其实早在3月微软就已经发补丁了。。。)

[原创文章,转载请注明出处,仅供学习研究之用,如有错误请留言,如觉得不错请推荐,谢谢支持]

[原文:http://www.cnblogs.com/lavender000/p/6926128.html,来自永远薰薰]

由Find All References引发的思考。,的更多相关文章

  1. Spring之LoadTimeWeaver——一个需求引发的思考---转

    原文地址:http://www.myexception.cn/software-architecture-design/602651.html Spring之LoadTimeWeaver——一个需求引 ...

  2. 由SecureCRT引发的思考和学习

    由SecureCRT引发的思考和学习 http://mp.weixin.qq.com/s?__biz=MzAxOTAzMDEwMA==&mid=2652500597&idx=1& ...

  3. 解决一道leetcode算法题的曲折过程及引发的思考

    写在前面 本题实际解题过程是 从 40秒 --> 24秒 -->1.5秒 --> 715ms --> 320ms --> 48ms --> 36ms --> ...

  4. 【思考】由安装zabbix至排障php一系列引发的思考

    [思考]由安装zabbix至排障php一系列引发的思考 linux的知识点林立众多,很有可能你在排查一个故障的时候就得用到另一门技术的知识: 由于linux本身的应用依赖的库和其它环境环环相扣,但又没 ...

  5. 由<a href = "#" > 引发的思考

    原文:由<a href = "#" > 引发的思考 前阵子在一个移动项目中,通过 <a href = "#" >  的方式 绑定clic ...

  6. 曲演杂坛--一条DELETE引发的思考

    原文:曲演杂坛--一条DELETE引发的思考 场景介绍: 我们有一张表,专门用来生成自增ID供业务使用,表结构如下: CREATE TABLE TB001 ( ID ,) PRIMARY KEY, D ...

  7. class_copyIvarList方法获取实例变量问题引发的思考

    在runtime.h中,你可以通过其中的一个方法来获取实例变量,那就是class_copyIvarList方法,具体的实现如下: - (NSArray *)ivarArray:(Class)cls { ...

  8. 由一个emoji引发的思考

    由一个emoji引发的思考 从毕业以来,基本就一直在做移动端,但是一直就关于移动端的开发,各种适配问题的解决,在日常搬砖中处理了就过了,也没有把东西都沉淀下来,觉得甚是寒颜.现就一个小bug,让我们来 ...

  9. 一次composer错误使用引发的思考

    一次composer错误使用引发的思考 这个思考源自于一个事故.让我对版本依赖重新思考了一下. 事故现象 一个线上的管理后台,一个使用laravel搭建的管理后台,之前在线上跑的好好的,今天comop ...

随机推荐

  1. HTML5技术实现Web图形图像处理——WebPhotoshop精简版

    WebPhotoshop精简版是利用HTML5技术在Web上实现对图形图像的处理,构建易维护.易共享.易于拓展.实时性的Web图形图像处理平台. 精简版功能包括:图形绘制.图像处理.图像操作.完整版包 ...

  2. 前端开发必须说的那些事之——同源策略(same origin policy)

    同源策略指的是三个相同 协议相同 域名相同 端口相同 如https://www.baidu.com/hahah.html这个网址来说 https是使用的协议,www.baidu.com是域名,端口号默 ...

  3. ValueStack

    1.把list集合压入栈顶 /** * * 查找所有的用户 * @return */ public String findAll() { List<User> allUser = user ...

  4. 【stm32】时钟树解析

    有时候会突然忘了这个重要的时钟树,这里转载一个比较好的,以防忘记. STM32时钟系统 在STM32中,有五个时钟源,为HSI.HSE.LSI.LSE.PLL. ①HSI是高速内部时钟,RC振荡器,频 ...

  5. 三步快速解决dll冲突问题

    最近在推广应用我们的分布式服务网关(Web Api):业务组大部分对外的业务逻辑以HSF服务或者自定义扩展插件的方式,注册并发布到分布式服务网关中,统一对外提供WebApi服务.临时介绍下我们的分布式 ...

  6. 需求收集过程实例之 - GF Phase 1

    正统的需求过程是怎样呢?各位看客有兴趣可以问问google 百度.本人的体会是理论很清晰,现实很混沌.这篇随笔讲述的是我参与的几个项目的需求收集过程.有的很顺利,有的却是乱中求生.但是不管怎样,最终这 ...

  7. 2017-4-26 winform tab和无边框窗体制作

    TabIndex-----------------------------------确定此控件将占用的Tab键顺序索引 Tabstop-------------------------------指 ...

  8. 用Entity Framework往数据库插数据时,出现异常,怎么查看异常的详细信息呢?

    做项目时,在用Entity Framework往数据库插数据时,程序报异常,但是通过报的异常死活没法查看异常的详细信息.这让人很是烦恼.本着自己动手丰衣足食的原则,通过查看资料终于找到了显示异常详细信 ...

  9. bzoj4800 [Ceoi2015]Ice Hockey World Championship

    Description 有n个物品,m块钱,给定每个物品的价格,求买物品的方案数. Input 第一行两个数n,m代表物品数量及钱数 第二行n个数,代表每个物品的价格 n<=40,m<=1 ...

  10. java.net.SocketException: Broken pipe 异常可能的原因

    org.apache.catalina.connector.ClientAbortException: java.net.SocketException: Broken pipe at org.apa ...