我們有一個超過10年的ASP.NET網站項目,其中包含大量未使用/遺留的用戶控件和頁面。識別未使用的類/控件/頁面
有沒有一種工具可以幫助識別解決方案的這些元素,所以我們可以重構它們?
我知道這個問題很複雜,因爲並非所有類型都被引用爲編譯器/工具可能識別的類型。例如通過反射實例化的對象使用表示類名稱的字符串實例化。另外,asp.net頁面通常不被引用爲類型,而是作爲標記中的頁面標識符字符串。
它仍然好像有人已經創建了一個工具,它處理這些情況,並創建未使用的類/頁/用戶的候選列表控制
我們有一個超過10年的ASP.NET網站項目,其中包含大量未使用/遺留的用戶控件和頁面。識別未使用的類/控件/頁面
有沒有一種工具可以幫助識別解決方案的這些元素,所以我們可以重構它們?
我知道這個問題很複雜,因爲並非所有類型都被引用爲編譯器/工具可能識別的類型。例如通過反射實例化的對象使用表示類名稱的字符串實例化。另外,asp.net頁面通常不被引用爲類型,而是作爲標記中的頁面標識符字符串。
它仍然好像有人已經創建了一個工具,它處理這些情況,並創建未使用的類/頁/用戶的候選列表控制
你可以使用這個正則表達式來查找未使用的註冊控件
<%@\s*Register\s+TagPrefix\s*=\s*"(?<tagprefix>[^"]+)"\s+TagName\s*=\s*"(?<tagname>[^"]+)"\s+Src\s*=\s*"[^"]+"\s*%>(?!.*?\k<tagprefix>:\k<tagname>\s+)
我以前powergrep運行此正則表達式。 應該啓用「Dot matches newline」複選框以正常工作。
看起來很有意思。你能描述它的作用嗎? –
當然。第一部分查找控件註冊模板<%@ Register TagPrefix =「Myprefix」TagName =「Mytag」Src =「〜/ mypath.ascx」%>並收集指定組中的tagprefix標記名**(?
我用SublimeText來執行此操作。我必須在正則表達式的最開始添加一個內聯標誌來匹配換行符:'(?s)'。見http://stackoverflow.com/questions/11992596/regex-in-sublime-text-match-any-character-including-newlines –
ReSharper是重構工具,它可以幫助您識別未使用的類的雲和方法。它也可以安全地刪除它們。它允許你刪除一個方法或類並調整所有的用法。請參閱:Safe delete
它也適當支持ASP.NET。請參閱:ASP.NET support
謝謝 - 我們已經使用了Resharper,但我不認爲它可以識別未使用的頁面和用戶控件。 –
你有沒有試過[找到用法](http://www.jetbrains.com/resharper/webhelp/Navigation_and_Search__Finding_Usages.html)功能。我相信您可以使用它來查找至少未使用的用戶控件。 –
是 - 這對個人命名空間和方法,手動類型的個案的基礎上,但我希望找到一個工具,可以生成一個解決方案寬的報告 –
如何使用resharper它會在.cs頁面中找到未使用的方法... –
Resharper擅長尋找未使用的方法,但不能識別未使用的頁面和控件。 –