2009-04-23 49 views
4

我正在使用SDK。在我發佈新版本時,我想編制一份關於API差異的報告。這不是代碼中的差異。預計大部分代碼不會直接使用。公共類/方法是我感興趣的。此外,我們已經採用了包含實現的命名空間中的任何內容都不應該被SDK客戶端使用的約定。所以我正在尋找不在包含Implementation的命名空間中的公共接口,類和方法的差異。我想知道兩個版本之間刪除,添加和修改的內容。我正在尋找類似LibCheck的工具來評估相同SDK的不同版本

我在右邊的球場發現了一款​​名爲LibCheck的工具。 LibCheck有幾個問題。 LibCheck不識別已被修改的方法。它報告該方法已被刪除和添加。它有時報告一個方法被刪除和添加,但名稱和參數都是一樣的。我不知道在這些情況下試圖告訴我什麼。最後我不關心報告的佈局。我想通過名稱空間以及彙編和類來分解。

我知道這些報告是XSLT轉換的結果,我可以讓它們看起來基本上是我想要的。還有其他問題,加上對微軟工具的普遍缺乏支持,讓我尋找替代方案。

+0

相關問題:http://stackoverflow.com/questions/2377855/tool-for-backwards-compatibility-for-c-net-api – aponomarenko 2011-01-27 16:27:31

回答

1

還有http://apichange.codeplex.com具有差異選項。像這樣稱呼它

ApiChange -diff -old $net2dir\System.dll -new $net4dir\System.dll 

並且您應該得到一份報告。

+0

它非常接近。我會看看它。謝謝。 – 2011-02-22 18:05:54

2

的工具如NDepend是非常適合這份工作,並已建成在功能的差異報告在「API」的水平,而不僅僅是文字如:

Compare Builds and Code Diff

NDepend的都有自己的代碼查詢語言CQL可以用來編寫高度定製化的靜態分析報告:

Code Query Language

+0

查看更多關於NDepend diff的解釋http://www.ndepend.com/docs/code-diff-in-visual-studio – 2017-06-12 15:08:58