Как я могу найти и удалить неиспользуемые ссылки в моих проектах?
Я знаю, что вы можете легко удалить операторы using vs 2008, но это не удаляет фактическую ссылку в ваших проектах. Указанная dll будет по-прежнему скопирована в ваш пакет bin/setup.
Как я могу найти и удалить неиспользуемые ссылки в моих проектах?
Я знаю, что вы можете легко удалить операторы using vs 2008, но это не удаляет фактическую ссылку в ваших проектах. Указанная dll будет по-прежнему скопирована в ваш пакет bin/setup.
* Примечание: см. http://www.jetbrains.net/devnet/message/5244658 для другой версии этого ответа.
Чтение сообщений, похоже, есть некоторая путаница в отношении исходного вопроса. Позвольте мне нанести удар.
Оригинальная статья действительно задает вопрос: "Как мне идентифицировать и удалять ссылки из одного проекта Visual Studio на другие проекты/сборки, которые не используются?" Плакат хочет, чтобы сборки больше не отображались как часть выхода сборки.
В этом случае ReSharper может помочь вам идентифицировать их, но вы должны удалить их самостоятельно.
Чтобы сделать это, откройте ссылку в браузере решений, щелкните правой кнопкой мыши на каждой ссылочной сборке и выберите "Найти зависимый код". См:
http://www.jetbrains.com/resharper/features/navigation_search.html#Find_ReferencedDependent_Code
Вы либо получите:
Список зависимостей от этой ссылки в окне браузера или
Диалоговое окно, в котором указано, что "Код, зависящий от модуля XXXXXXX, не найден".
Если вы получите второй результат, затем щелкните правой кнопкой мыши ссылку, выберите "Удалить" и удалите его из своего проекта.
Пока вам нужно "вручную", то есть одну ссылку за раз, она выполнит задание. Если кто-то автоматизировал это каким-то образом, мне интересно узнать, как это было сделано.
Вы можете в значительной степени игнорировать те, что содержатся в .Net Framework, поскольку они обычно не копируются на ваш вывод сборки (обычно - хотя это и не обязательно верно для приложений Silverlight).
Некоторые сообщения, кажется, отвечают на вопрос: "Как удалить с помощью предложений (С#) из файла исходного кода, которые не нужны для решения каких-либо ссылок внутри этого файла".
В этом случае ReSharper помогает с помощью нескольких способов:
Идентифицирует неиспользуемые варианты использования для вас во время обнаружения ошибки fly. Они отображаются в виде предупреждений об инспекции кода - код будет отображаться серым цветом (по умолчанию) в файле, а ReSharper предоставит подсказку, чтобы удалить его:
http://www.jetbrains.com/resharper/features/code_analysis.html#On-the-fly_Error_Detection
Позволяет автоматически удалить их как часть процесса очистки кода:
Наконец, поймите, что ReSharper делает статический анализ кода на вашем решении. Итак, если у вас есть динамическая ссылка на сборку - скажем, через отражение или сборку, динамически загружаемую во время выполнения и доступную через интерфейс - она не подберет ее. Нет смысла понимать ваш код базы и зависимостей проекта при работе над вашим проектом. Я действительно считаю, что функции ReSharper очень полезны.
вы можете использовать расширение Удалить неиспользуемые ссылки ', я написал:
http://visualstudiogallery.msdn.microsoft.com/9811e528-cfa8-4fe7-9dd1-4021978b5097
Удаление неиспользуемых ссылок - это функция, которая уже поддерживает Visual Studio 2008. К сожалению, только для проектов VB.NET.
Я открыл предложение Microsoft Connect для получения этой функции для проектов С#:
http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=510326
Если вам нравится эта функция, тогда вы можете проголосовать за мое предложение.
Попробуйте следующее: Справочный помощник
Резюме
Reference Assistant помогает удалить неиспользуемые ссылки из С#, F #, VB.NET или VС++/CLI в Visual Studio 2010.
Resharper сделает это за вас (и так намного больше!)
ReSharper 6.1 будет включать следующие функции:
-Оптимизировать ссылки: проанализировать ссылки на сборку и их использование в коде, получить список избыточных ссылок и удалить их.
-Remove Unused References: быстрый рефакторинг для удаления избыточных ссылок на сборку.
-Safe delete на ссылках сборки: удаляет ссылки на сборку, если все они являются избыточными, в противном случае диспетчеризация использует и может удалять только избыточные ссылки на сборки выбранного списка.
Я сделал это без расширения в VS 2010 Ultimate Architecture- > Generate Dependency Graph- > Assembly, он показывает используемые сборки и вручную удаляет неиспользуемые ссылки.
У меня есть бесплатный ответ, который работает в любой версии Visual Studio и любой версии Framework. Он не удаляет неиспользуемые ссылки, но он идентифицирует их.
Вы можете использовать Telerik JustDecompile в своей DLL проекта. Просто откройте dll в JustDecompile и перейдите в References
, чтобы узнать, что на самом деле используется в скомпилированной dll.
Учитывая, что VisualStudio (или это msbuild?) обнаруживает неиспользуемые ссылки и не включает их в выходной файл, вы можете написать script, который анализирует ссылки из csproj и сравнивает это с ссылочными ассемблиями обнаружено отражением на выходе проекта.
Если вы мотивированы...
Я думаю, что они скопированы в bin \, потому что в проекте, который удалил ссылку, есть ссылка o другого проекта, который имеет одну и ту же ссылку...
Если вы знаете, какие ссылки не используются, вы можете удалить их вручную.
В обозревателе решений щелкните правой кнопкой мыши ссылку в ссылках node, а затем нажмите "Удалить".