Удаление всех неиспользуемых ссылок из проекта в проектах Visual Studio

Мне просто интересно, возможно ли в разных версиях Visual Studio автоматически удалять все ссылки из проекта, который никогда не использовался?

В вашем ответе укажите, к какой версии VS применяется решение.

Ответ 1

Если у вас установлен Resharper (плагин), вы можете получить доступ к функции, которая позволяет анализировать используемые ссылки через Обозреватель решений > (щелкните правой кнопкой мыши) Ссылки > Оптимизировать ссылки...

http://www.jetbrains.com/resharper/webhelp/Refactorings__Remove_Unused_References.html

Эта функция неправильно обрабатывает:

  • Зависимые впрыскиваемые сборки
  • Динамически загруженные сборки (Assembly.LoadFile)
  • Собственные сборки кода, загруженные через interop
  • Элементы управления ActiveX (COM-взаимодействие)
  • Другие творческие способы загрузки сборок

enter image description here

Ответ 2

Вы можете попробовать бесплатное расширение VS2010: Справочный ассистент от группы Lardite. Это прекрасно работает для меня. Этот инструмент помогает найти неиспользуемые ссылки и позволяет выбрать, какие ссылки следует удалить.

Ответ 3

Resharper расширение сделает это за вас.

Это расширение поддерживает Visual Studio с 2005 по 2017 год.

Хотя компилятор не будет включать неиспользуемые сборки, использование посторонних операторов и ссылок замедляет работу Visual Studio и Intellisense, поскольку инструменты должны учитывать больше кода.

Ответ 4

В проекте Visual Basic есть поддержка для удаления "Неиспользуемые ссылки" (Project → References → Unused References). В С# такой функции нет.

Единственный способ сделать это в проекте С# (без других инструментов) - удалить возможные неиспользуемые сборки, скомпилировать проект и проверить, не возникли ли ошибки во время компиляции. Если ошибок не произошло, вы удалили неиспользуемую сборку. (См. мое сообщение)

Если вы хотите узнать, какой проект (сборка) зависит от других сборок, вы можете использовать NDepend.

Ответ 5

Для Visual Studio 2013/2015/2017 есть расширение, которое делает именно то, что вы хотите: ResolveUR. В основном это так:

  • ссылка удалена в проекте Проект
  • скомпилирован с помощью msbuild
  • проверить ошибки сборки
  • восстановить удаленные ссылки, если были ошибки сборки.

Ответ 7

В Visual Studio 2013 это расширение работает: ResolveUR

Ответ 8

Все, что вам нужно, это камень и голая рулька, тогда вы можете делать это как пещерный человек.

  1. Удалить неиспользуемые пространства имен (для каждого класса)
  2. Запустите отладочную сборку
  3. Скопируйте исполняемый файл и оставшиеся ссылки на пространство имен в новое местоположение
  4. Запустите исполняемый файл
  5. Ошибка DLL отсутствующей ссылки
  6. Скопируйте необходимую DLL из папки отладки
  7. Повторите 4-6
  8. Гу Гу Га Га?
  9. Бросай свой камень

Вы также можете положиться на свои инструменты сборки, чтобы сообщить, какая ссылка все еще требуется. В эпоху VS 2017 года пещерный человек все же выжил.

Ответ 9

В Visual Studio версий 2017 и 2015 вы можете сделать это с помощью функции Code Code, но эта функция доступна только в Enterprise Edition, но не в Community или Professional <. версии.

Щелкните правой кнопкой мыши узел проекта в обозревателе решений и выберите "Показать на карте кода". Это отобразит ваш .dll в виде одного узла на пустом графике. Щелкните правой кнопкой мыши по этому узлу на карте кода и выберите "Показать сборки в этой ссылке". Это добавит дополнительный узел с именем "Внешние элементы", который можно развернуть, чтобы показать только те сборки, на которые действительно есть ссылки.

enter image description here

Ответ 10

Некоторые люди предлагали использовать потрясающий инструмент - Справочный помощник для Visual Studio. Проблема в том, что VS2012 является последней поддерживаемой Visual Studio. Но есть способ заставить его работать и в VS2013;)

А вот как:

1) Загрузите Lardite.RefAssistant.11.0.vsix

2) Измените расширение на zip: Lardite.RefAssistant.11.0.vsixLardite.RefAssistant.11.0.zip

3) Разархивируйте и откройте файл extension.vsixmanifest в текстовом редакторе

4) Найдите все вхождения в InstallationTarget Version="[11.0,12.0)" и замените их на InstallationTarget Version="[11.0,12.0]" (обратите внимание на закрывающую скобку)

5) Сохраните файл и заархивируйте все файлы, чтобы они были на уровне корневого почтового индекса

6) Измените расширение нового zip на vsix

7) Установите и наслаждайтесь :)

Я протестировал его с VS2013, спасибо source за урок

EDIT Добавить в поддержку VS 2015 Community Edition

<InstallationTarget Version="[14.0,15.0]" Id="Microsoft.VisualStudio.Community" />

Значение скобок

[ – minimum version inclusive.

] – maximum version inclusive. 

( – minimum version exclusive. 

) – maximum version exclusive.

Ответ 12

Используя DevExpress, я следую этим инструкциям:

  • В VS, перейдите в DevExpress - Редактор - Очистка кода. В разделе "Правила" установите флажок "Удалить неиспользуемые ссылки на пространство имен". Нажмите "ОК".
  • Щелкните правой кнопкой мыши на решении и выберите "Очистка кода". Очистка выполняется в течение нескольких минут и заканчивается.
  • Создайте приложение

Ответ 13

Следующий метод не зависит от каких-либо дополнений и не очень болезненный.

Просмотрите каждый из ваших исходных файлов и

  1. Выбрать все (Ctrl-A)
  2. Переключить расширение контура (Ctrl-M, M). Это уменьшит размер файла до двух строк.
  3. Нажмите на пространство имен "+". Это покажет каждый из классов файлов в одной строке. Сканирование каждого подсчета классов в поисках классов, на которые нет ссылок.
  4. Нажмите на каждый из классов '' + '. Это покажет каждую из функций класса в одной строке. Сканирование подсчета ссылок каждой функции в поисках функций без ссылок.

Сканирование каждого файла в поисках "0 ссылок" занимает всего секунду.

Сканирование всего проекта занимает всего пару минут.

Ответ 14

Откройте файл файла класса (например, cs) и щелкните правой кнопкой мыши и выберите "Упорядочить" с помощью > "Удалить неиспользуемые".

Ответ 15

В VB2008 он работает следующим образом:

Project>Add References

Затем перейдите на вкладку "Последние", где вы можете увидеть список использованных недавно ссылок. Найдите тот, который вы не хотите, и удалите его. Затем вы закрываете, ничего не добавляя.

Ответ 16

Чтобы удалить ссылку в Visual С# В обозревателе решений откройте ссылку node в проекте node. Щелкните ссылку правой кнопкой мыши и нажмите "Удалить".