• vs2019系统内置方法无提示


    有个同事问我为什么他的vs编写C#代码,对于引用System.dll中的方法,鼠标移上去没有方法的使用说明或接口注释,具体可以看下面的截图,而我绝大多数情况下是使用Rider开发,并没有遇到这个问题,本文通过实践找到原因。

    我的环境:vs2017 企业版本 ,vs2019企业版本 ,rider 2019.3

    方法无提示

    image-20201014101148733

    image-20201015092441245

    通过转到源码,反编译出来的文件头信息:

    #region 程序集 mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    // C:WindowsMicrosoft.NETFrameworkv2.0.50727mscorlib.dll
    // Decompiled with ICSharpCode.Decompiler 4.0.0.4285
    #endregion
    

    方法有提示

    image-20201014101755243

    image-20201015092340167

    通过转到源码,反编译出来的文件头信息:

    #region 程序集 mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    // C:Program Files (x86)Reference AssembliesMicrosoftFramework.NETFrameworkv4.5mscorlib.dll
    // Decompiled with ICSharpCode.Decompiler 4.0.0.4285
    #endregion
    

    本质区别

    通过查看这两者反编译的文件头信息差别是:引用的.net framework 目标框架不一致,无提示引用.net 3.5,有提示引用.net 4.5

    vs2019转到源码

    VS2017的打开方法:工具>选项>文本编辑器>c#>高级>启用导航到反编译源

    VS2019的打开方法:工具>选项>文本编辑器>c#>高级>支持导航到反编译源

    Rider表现怎样

    我目前绝大多数编写c#代码的情况下都是使用Rider,项目同样是以.net 3.5无提示作为目标框架,在Rider中看看是怎样的?

    结果:以.net 3.5为目标框架,在Rider中是有方法提示的

    而且Rider默认就支持反编译dll,Ctrl+B跳转到源码。

    image-20201015093259030

    image-20201015093243017

  • 相关阅读:
    Consul注销实例
    sql优化基础篇
    linux下执行java类(运行java定时器)
    ExecutorService 的理解与使用
    精度计算的方法
    内部类详解
    接口的作用
    面向对象之继承和组合浅谈
    构造器前篇
    教师编制考试数据分析
  • 原文地址:https://www.cnblogs.com/zhaoqingqing/p/13906813.html
Copyright © 2020-2023  润新知