it-swarm-ru.tech

Удалить неиспользуемые ссылки (! = "Using")

Как я могу найти и удалить неиспользуемые ссылки в моих проектах?

Я знаю, что вы легко можете удалить операторы using в версии 2008, но это не удаляет реальную ссылку в ваших проектах. Указанная dll все равно будет скопирована в ваш пакет bin/setup.

100
Boris Callens

* Примечание: см. http://www.jetbrains.net/devnet/message/5244658 для другой версии этого ответа.

Читая посты, похоже, что в исходном вопросе есть некоторая путаница. Позвольте мне нанести удар.

Оригинальный пост действительно задает вопрос: "Как определить и удалить ссылки из одного проекта Visual Studio на другие проекты/сборки, которые не используются?" Постер хочет, чтобы сборки больше не появлялись как часть результатов сборки.

В этом случае ReSharper может помочь вам идентифицировать их, но вы должны удалить их самостоятельно.

Для этого откройте "Ссылки" в обозревателе решений, щелкните правой кнопкой мыши каждую сборку, на которую ссылаются, и выберите "Найти зависимый код". Увидеть:

http://www.jetbrains.com/resharper/features/navigation_search.html#Find_ReferencedDependent_Code

Вы либо получите:

  1. Список зависимостей от этой ссылки в окне браузера или

  2. Диалог с сообщением "Код, зависящий от модуля XXXXXXX, не найден".

Если вы получите второй результат, вы можете затем щелкнуть правой кнопкой мыши ссылку, выбрать Удалить и удалить его из своего проекта.

В то время как вы должны сделать это "вручную", то есть по одной ссылке за раз, он выполнит свою работу. Если кто-то автоматизировал это каким-либо образом, мне интересно услышать, как это было сделано.

Вы можете в значительной степени игнорировать те из них в .Net Framework, поскольку они обычно не копируются в выходные данные вашей сборки (как правило, хотя это не всегда верно для приложений Silverlight).

Кажется, что некоторые сообщения отвечают на вопрос: "Как мне удалить использование выражений (C #) из файла исходного кода, которые не нужны для разрешения каких-либо ссылок в этом файле".

В этом случае ReSharper помогает несколькими способами:

  1. Определяет неиспользуемые пункты использования для вас во время обнаружения ошибок на лету. Они отображаются в виде предупреждений проверки кода - код будет выделен серым (по умолчанию) в файле, и ReSharper предоставит подсказку для его удаления:

    http://www.jetbrains.com/resharper/features/code_analysis.html#On-the-fly_Error_Detection

  2. Позволяет автоматически удалять их как часть процесса очистки кода:

    http://www.jetbrains.com/resharper/features/code_formatting.html#Optimizing_Namespace_Import_Directives

Наконец, поймите, что ReSharper выполняет статический анализ кода вашего решения. Таким образом, если у вас есть динамическая ссылка на сборку - скажем, через отражение или сборку, которая динамически загружается во время выполнения и доступна через интерфейс - она ​​не подхватит ее. Нет замените понимание своей кодовой базы и зависимостей проекта во время работы над проектом. Я считаю, что функции ReSharper очень полезны.

55
jlo

вы можете использовать расширение ' Удалить неиспользуемые ссылки , которое я написал:

http://visualstudiogallery.msdn.Microsoft.com/9811e528-cfa8-4fe7-9dd1-4021978b5097

12
Spongman

Удаление неиспользуемых ссылок - это функция, уже поддерживаемая Visual Studio 2008. К сожалению, только для VB .NET проектов.

Я предложил Microsoft Connect подключиться к этой функции и для проектов на C #:

http://connect.Microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=510326

Если вам нравится эта функция, то вы можете проголосовать за мое предложение.

7
jbe

Попробуйте это: Справочный Ассистент

Резюме

Помощник по ссылкам помогает удалить неиспользуемые ссылки из проектов C #, F #, VB.NET или VC++/CLI в Visual Studio 2010.

5
Leniel Maccaferri

ReSharper 6.1 будет включать в себя следующие функции:

-Оптимизация ссылок: анализируйте ссылки на сборки и их использование в коде, получайте список избыточных ссылок и удаляйте их.

-Удалите неиспользуемые ссылки: быстрый рефакторинг для удаления избыточных ссылок на сборки.

-Безопасное удаление ссылок на сборки: удаляет ссылки на сборки, если все они являются избыточными, в противном случае отменяет использование и может удалить только избыточные ссылки на сборки из выбранного списка.

4
Kirill Skrygan

Resharper сделает это за вас (и многое другое!)

4
Chris Canal

Я сделал это без расширения в VS 2010 Ultimate Architecture-> Generate Dependency Graph -> By Assembly, он показывает используемые сборки и вручную удаляет неиспользуемые ссылки.

3
mes

У меня есть бесплатный ответ, который работает в любой версии Visual Studio и любой версии Framework. Не удаляет неиспользуемые ссылки, но идентифицирует их.

Вы можете использовать Telerik JustDecompile для вашего проекта DLL. Просто откройте dll в JustDecompile и перейдите под References, чтобы увидеть, что на самом деле используется в скомпилированной dll.

enter image description here

2
toddmo

Я думаю, что скопированы в bin \, потому что в проекте, который удалил ссылку, есть ссылка на другой проект, который имеет ту же ссылку ...

0
Henry Martinez Q.

Если вы знаете, какие ссылки не используются, вы можете удалить их вручную.
В обозревателе решений щелкните правой кнопкой мыши ссылку в узле Ссылки и выберите Удалить.

0
fat

Учитывая, что VisualStudio (или это msbuild?) Обнаруживает неиспользуемые ссылки и не включает их в выходной файл, вы можете написать скрипт, который анализирует ссылки из csproj и сравнивает их со ссылочными сборками, обнаруженными по рефлексии на выход проекта.

Если вы мотивированы ...

0
Benjol