複製鏈接
請複製以下鏈接發送給好友

FxCop

鎖定
FxCop是一個代碼分析工具,它依照微軟.NET框架的設計規範對託管代碼assembly(可稱為程序集),assembly實際上指的就是.net中的.exe或者.dll文件(不包括netmodule文件)。
中文名
FxCop
外文名
FxCop
性    質
代碼分析工具
包    括
版本信息與類的描述
針    對
NET1.1的版本

FxCop程序簡介

這種文件中包含四種信息:assembly的清單(包括引用外部的assembly、netmodule與資源文件及包含在同一文件中的assembly);類型描述信息,包括版本信息與類的描述等;MSIL微軟中間語言;資源(圖標等)進行檢查。它使用基於規則的引擎,來檢查出你代碼中不合規範的部分;你也可以定製自己的規則加入到這個引擎。這個工具微軟免費提供。最新版需要.NET 2.0支持;此外,也有一個較老的針對.NET1.1的版本。

FxCop新版技術

最新版FxCop使用一項叫做內窺(introspection,或稱內觀、內視)的技術,以窺探你的assembly內部,而前一個版本則使用映射(reflection,或稱反射)技術。這一點值得關注,因為使用上一個版本調試碰到問題你不得不停下來,對代碼作了任何更改之後都需要重新開始調試;而這些對於新版本都沒有必要了。

FxCop程序作用

大多數代碼分析工具掃描你的源代碼,但是FxCop直接對你編譯好的代碼處理。.NET的每個assembly都有其metadata(可稱為元數據,metadata是關於一個assembly中各元素的類型信息庫,它本身也存放在這個assembly中),它對assembly以及assembly內用到的所有類型進行描述。FxCop會使用這個metadata以獲知代碼內部的運行狀況。另外,它也對代碼編譯時生成的MSIL(Microsoft Intermediate Language,微軟中間語言)進行檢查。
通過對metadata和MSIL檢查的結合,FxCop可以得出大量信息,以此獲得對代碼執行時所作所為的理解。它把你的代碼和各條規則逐一比較檢查,在每一個實例中,當找到不符合規則的代碼時就生成一條消息。