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, Culture=neutral, 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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM