* Примітка: див. Http://www.jetbrains.net/devnet/message/5244658 для іншої версії цієї відповіді.
Читаючи дописи, схоже, що в початковому питанні є певна плутанина. Дозвольте мені зробити це колотою.
Оригінальний пост справді задає питання: "Як я можу визначити та видалити посилання з одного проекту Visual Studio на інші проекти / склади, які не використовуються?" Плакат хоче, щоб збірки більше не з'являлися як частина результату збірки.
У цьому випадку ReSharper може допомогти вам їх ідентифікувати , але вам доведеться їх видалити самостійно.
Для цього відкрийте браузер References inth Solution Browser, клацніть правою клавішею миші на кожній посиланні і виберіть пункт «Знайти залежний код». Побачити:
http://www.jetbrains.com/resharper/features/navigation_search.html#Find_ReferencedDependent_Code
Ви або отримаєте:
Список залежностей від цієї Довідки у вікні браузера, або
Діалогове вікно про те, що "Код, залежний від модуля XXXXXXX, не знайдено".
Якщо ви отримаєте другий результат, ви можете правою кнопкою миші клацнути посилання, вибрати пункт Видалити та видалити його зі свого проекту.
Хоча вам доведеться це "вручну", тобто по одній посиланні за один раз, це буде виконано роботу. Якщо хтось яким-небудь чином автоматизував це, мені цікаво почути, як це робилося.
Ви можете майже ігнорувати їх у .Net Framework, оскільки вони, як правило, не копіюються на ваш вихід збірки (як правило, хоча це не обов'язково стосується програм Silverlight).
Деякі повідомлення, здається, відповідають на питання: "Як видалити за допомогою пунктів (C #) з файлу вихідного коду, які не потрібні для вирішення будь-яких посилань у цьому файлі".
У цьому випадку ReSharper допомагає двома способами:
Виявляє невикористані за допомогою пунктів під час виявлення помилок на льоту. Вони відображаються як попередження щодо перевірки коду - у файлі код з’явиться сірим (за замовчуванням), і ReSharper надасть підказку щодо його видалення:
http://www.jetbrains.com/resharper/features/code_analysis.html#On-the-fly_Error_Detection
Дозволяє автоматично видаляти їх як частину процесу очищення коду:
http://www.jetbrains.com/resharper/features/code_formatting.html#Optimizing_Namespace_Import_Directives
Нарешті, зрозумійте, що ReSharper робить статичний аналіз коду вашого рішення. Отже, якщо у вас є динамічне посилання на збірку - скажімо, через рефлексію або збірку, яка динамічно завантажується під час виконання та отримує доступ через інтерфейс - вона не сприймає її. Неможливо замінити розуміння вашої кодової бази та залежностей від проекту під час роботи над вашим проектом. Я вважаю, що функції ReSharper дуже корисні.