* Uwaga: zobacz http://www.jetbrains.net/devnet/message/5244658, aby uzyskać inną wersję tej odpowiedzi.
Czytając posty, wygląda na to, że jest pewne zamieszanie co do pierwotnego pytania. Pozwól, że się tym zajrzę.
Oryginalny post tak naprawdę zadaje pytanie: „Jak zidentyfikować i usunąć odwołania z jednego projektu Visual Studio do innych projektów / zestawów, które nie są używane?” Plakat chce, aby zestawy nie były już wyświetlane jako część wyników kompilacji.
W takim przypadku ReSharper może pomóc ci je zidentyfikować , ale musisz je usunąć samodzielnie.
Aby to zrobić, otwórz References inth Solution Browser, kliknij prawym przyciskiem myszy każdy przywoływany zespół i wybierz „Znajdź zależny kod”. Widzieć:
http://www.jetbrains.com/resharper/features/navigation_search.html#Find_ReferencedDependent_Code
Otrzymasz albo:
Lista zależności tego odwołania w oknie przeglądarki lub
Okno dialogowe z informacją „Nie znaleziono kodu zależnego od modułu XXXXXXX”.
Jeśli uzyskasz drugi wynik, możesz kliknąć prawym przyciskiem myszy odniesienie, wybrać Usuń i usunąć je z projektu.
Chociaż musisz to zrobić „ręcznie”, tj. Po jednym odwołaniu na raz, zadanie zostanie wykonane. Jeśli ktoś zautomatyzował to w jakiś sposób, chciałbym usłyszeć, jak to się stało.
Możesz zignorować te w .Net Framework, ponieważ normalnie nie są one kopiowane do wyniku kompilacji (zazwyczaj - choć niekoniecznie w przypadku aplikacji Silverlight).
Niektóre posty wydają się odpowiadać na pytanie: „Jak usunąć klauzule using (C #) z pliku kodu źródłowego, które nie są potrzebne do rozwiązania jakichkolwiek odwołań w tym pliku”.
W tym przypadku ReSharper pomaga na kilka sposobów:
Identyfikuje nieużywane klauzule using podczas wykrywania błędów w locie. Pojawiają się jako ostrzeżenia o inspekcji kodu - kod będzie wyszarzony (domyślnie) w pliku, a ReSharper poda wskazówkę, aby go usunąć:
http://www.jetbrains.com/resharper/features/code_analysis.html#On-the-fly_Error_Detection
Umożliwia automatyczne usuwanie ich w ramach procesu czyszczenia kodu:
http://www.jetbrains.com/resharper/features/code_formatting.html#Optimizing_Namespace_Import_Directives
Wreszcie, zdaj sobie sprawę, że ReSharper wykonuje statyczną analizę kodu twojego rozwiązania. Tak więc, jeśli masz dynamiczne odniesienie do zestawu - powiedzmy przez odbicie lub zestaw, który jest dynamicznie ładowany w czasie wykonywania i dostępny przez interfejs - nie zostanie odebrany. Nic nie zastąpi zrozumienia podstawy kodu i zależności projektu podczas pracy nad projektem. Uważam, że funkcje ReSharper są bardzo przydatne.