簡體   English   中英

如何找出未調用C#.NET程序集中的代碼

[英]How to find out what code in a C# .NET assembly is not being called

我在Visual Studio 2008中有一個C#.NET程序集。如果需要,我可以將它升級到VS 2010。

如何查找程序集中的哪些代碼未被調用? 理想情況下,如果有東西可以一次性分析整個解決方案。 我自己手動分析它對我來說太過分了。

程序集在客戶端和服務器項目之間共享,因此我需要了解在哪里使用哪些代碼。

在VS 2010中,您可以將代碼覆蓋率與單元測試結合使用 - 因此,如果您可以將客戶端代碼重構為實際的單元測試,則可以使用它。

引用MSDN

要確定使用單元測試實際測試項目代碼的比例,可以使用Visual Studio應用程序生命周期管理的代碼覆蓋功能。 要執行此操作,請首先編輯運行配置以指示包含要測量其coverage的代碼的程序集。 然后對該代碼運行測試。 詳細的代碼覆蓋率統計信息顯示在窗口中,您還可以逐行查看已測試的代碼。

嘗試獲得resharper。 這樣做對你而言。 您可以從他們的網站獲得免費試用版。 http://www.jetbrains.com/resharper/download/

http://www.jetbrains.com/resharper/

如果您不介意購買某些東西,ReSharper會為您找到未使用的代碼。

FxCOP是Microsoft的免費工具,包括死代碼檢測。

對於最好的結果,不要將類/方法標記為公開,除非它們確實需要公開。 它假定外部程序集使用任何公共方法。

檢查Visual Studio中的代碼分析,此處提供幫助

您可以嘗試使用ReSharper的安全刪除功能,請記住它會說刪除僅通過反射使用的代碼是安全的(例如Fluent自動執行約定)。

下載一個30天的試用版,看看它是否能滿足您的需求,也不會受到傷害。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM