官术网_书友最值得收藏!

1.2 代碼分析器

代碼分析器FxCopAnalyzers全稱為Microsoft.CodeAnalysis.FxCopAnalyzers,是一組.NET編譯分析工具,包含Microsoft.CodeQuality.Analyzers、Microsoft.NetCore.Analyzers、Microsoft.NetFramework.Analyzers三個子模塊,三者都是基于.NET編譯器構建的。FxCopAnalyzers對不同的.NET平臺可以在編譯時進行.NET代碼質量檢查,提供實用的建議和警告,以改善代碼質量、安全和性能。

在.NET 5.0之前的版本中可以通過NuGet包安裝FxCopAnalyzers,打開包所在的地址https://www.nuget.org/packages/Microsoft.CodeAnalysis.FxCopAnalyzers,如圖1-43所示。

圖1-43 NuGet管理器安裝分析器

下面對名為WebForm的.NET Web項目安裝FxCopAnalyzers,直接在Visual Studio包管理器處安裝,安裝完成后分析器列表如圖1-44所示。

圖1-44 當前項目已安裝分析器

FxCopAnalyzers代碼分析器可根據審查出的違規代碼質量或者安全性等潛在的影響,劃分出如表1-3所示的質量等級。

表1-3 代碼分析器質量等級

(續)

比如,下面是可能存在XXE漏洞風險的.NET代碼,經過代碼分析器檢測,觸發了編號為“CA3075”的規則。

代碼分析器使用綠色波浪線進行提示,并在錯誤列表中注明“LoadXml”方法的不安全重載,如圖1-45所示。

圖1-45 分析器提示當前方法不安全

打開規則鏈接/zh-cn/dotnet/fundamentals/code-analysis/quality-rules/ca3075,顯示這條安全規則的詳細說明,如圖1-46所示。

不過從.NET 5.0和Visual Studio 2019 16.8開始,代碼分析器默認已經包含在.NET SDK中,并且微軟官方推薦使用Microsoft.CodeAnalysis.NetAnalyzers來替代FxCopAnalyzers。

主站蜘蛛池模板: 临洮县| 津南区| 凤山市| 南皮县| 湛江市| 武城县| 镇巴县| 临潭县| 临西县| 策勒县| 鸡泽县| 湘潭县| 资阳市| 绵竹市| 庆阳市| 乌拉特中旗| 乐昌市| 彭山县| 资兴市| 临颍县| 谷城县| 铜山县| 宁海县| 连江县| 溧水县| 宣城市| 崇文区| 南江县| 麦盖提县| 邵阳县| 泰顺县| 防城港市| 德安县| 抚宁县| 石林| 冀州市| 武山县| 明星| 永城市| 克东县| 广水市|