2009-09-24 85 views
6

我有一個.Net(C#)解決方案。該解決方案包含一堆項目。這些項目不是由我執行的。這不是一個框架,這意味着我需要儘可能少的公共方法/屬性。我的任務是確定未使用但存在於項目中的方法和屬性。那麼,我可以找到使用R#不使用的私有方法。但是完全不清楚如何找到未使用的方法/屬性public如何輕鬆找到未使用的公共方法/屬性

我聽說他們有NDepend工具,但它不是很簡單的工具,是嗎。

所以,問題是:請您指出一個可用於識別解決方案中未使用的方法的工具。我可以使用命令行工具或其他非常簡單的東西。

UPD:我試圖使用試用NDepend。

那麼,首先看起來有可能看到公共方法(屬性表示爲get_set_方法),這些方法在此特定程序集中未使用。

但是NDepend無法識別公共方法是否從另一個項目/程序集中使用,該項目/程序集是解決方案的一部分,並顯示該方法未使用。但是這是錯誤的。

UPD2:mcintyre321建議使用R#。請閱讀下面的第一條評論。

+2

只要確定你決定刪除不是通過反射調用! – RichardOD 2009-09-24 14:08:41

+0

謝謝你的提示。我確信我的解決方案中沒有使用反射。但webservices是: - \ – Antipod 2009-09-24 14:59:36

+0

我已經刪除了圖片鏈接,因爲它似乎已經死了,正在轉到非https網址 – Liam 2018-01-25 15:01:45

回答

7

如果您在ReSharper(5.0及以上版本)中啓用解決方案範圍分析,它會爲您標記它們。這包括公共方法。

+0

謝謝您的評論。不幸的是,它沒有幫助。最後R#只顯示一些css和asxc路徑沒有被發現/有效。但它並沒有說公共方法/屬性。 – Antipod 2009-09-24 15:02:15

+0

謝謝你的照片。 「解決方案中的錯誤」列表沒有錯誤,這正是我所擁有的。現在我明白你的意思,並認爲它可以提供幫助。是否有可能使用R#在一個「窗口」中獲得解決方案中所有未使用的方法的列表,例如錯誤列表中的錯誤列表? – Antipod 2009-09-25 14:50:57

+0

您可以在R#選項中配置檢查嚴重性,以便它們顯示爲警告或錯誤。 – mcintyre321 2009-09-25 15:04:11

2

哎呀我都做到了老同學。我只是註釋掉我認爲不被使用和構建的方法。如果我得到一個錯誤,那麼我把它留在那裏。

+0

但是,如果您有很多類,那麼解決此問題並不是一個好方法。在這種情況下,這是很多工作。我們在這裏是程序員,需要思考如何實現流程自動化。 謝謝。 – Antipod 2009-09-24 14:02:10

+0

如果方法是直接引用的,您也只會遇到錯誤,但並非總是如此,例如用於IoC容器中的事件訂戶 – armannvg 2009-09-25 15:19:41

相關問題