2011-02-18 84 views
7

是否有任何理由使Visual Studio無法在C#和C++項目中刪除未使用的引用(對於項目和程序集),而可以從Visual Basic項目(see here)?爲什麼不能在C#中刪除未使用的引用?

我知道你可以用Resharper等其他工具來做到這一點,我只是想知道是否有任何技術原因不能在C#和C++項目中做到這一點?或者微軟只是選擇它的工作就是這樣。這似乎是一個相當有用的功能。

回答

10

注意,編譯將自動從組件丟棄任何未使用的引用,所以在集元數據水平這是多餘的。然後它就成爲IDE /工具問題。這是不可能的嗎?否(儘管顯然它需要保留標記爲本地複製的副本,以確保它被部署)。因此,我們可以假設,這只是一個「實現vs效用的時間」(與可以完成的其他更有用的事情相比)。

我敢肯定,如果你想你可以寫一個IDE擴展它,P

+0

有用瞭解!我是那些堅持刪除未使用的參考文獻的「傢伙」之一:) – 2011-02-18 10:20:59

+1

好點!我懷疑這一點,但並不完全確定。但是,在我看來,它影響了VS中的依賴關係概述,並且它在編譯項目等時會對構建哪些項目產生影響。 – 2011-02-18 12:08:10

0

此功能是有VB(通過引用屬性頁上的「未使用的引用」按鈕)。但就是這樣例如,用戶可以添加對程序集的引用,以便將其複製到輸出目錄。他們可能通過反射來使用組件,而不是編譯它 - 在這種情況下,VS無法檢測到這種組件是「被使用」的。所以設計這樣的算法並不是100%成功的。但是標誌是組件標記爲「未使用」的選項(但是,用戶仍然可以選擇是否從引用列表中刪除程序集)。

刪除未使用的名稱空間可以爲此做一點工作。

1

我在Microsoft Connect上找到this建議。聽起來,微軟實際上認爲這是一個好主意,但沒有「時間」(讀取:優先級)來實現它。太糟糕了!

相關問題