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:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorlib.dll
// Decompiled with ICSharpCode.Decompiler 4.0.0.4285
#endregion

方法提示

image-20201014101755243

image-20201015092340167

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

#region 程序集 mscorlib,Version=4.0.0.0,PublicKeyToken=b77a5c561934e089
// C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\mscorlib.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

相关文章

在项目中使用SharpZipLib压缩文件夹的时候,遇到如果目录较深,则压缩包中的文件夹同样比较深的问题。比...
项目需要,几十万张照片需要计算出每个照片的特征值(调用C++编写的DLL)。 业务流程:选择照片...
var array = new byte[4]; var i = Encoding.UTF8.GetBytes(100.ToString("x2"));//...
其实很简单,因为Combox的Item是一个K/V的object,那么就可以把它的items转换成IEnumerable<Dic...
把.net4.6安装包打包进安装程序。 关键脚本如下: 头部引用字符串对比库 !include "WordFunc....
项目需求(Winform)可以批量打印某个模板,经过百度和摸索,使用iTextSharp+ZXing.NetʿreeSp...