Как мне найти и удалить неиспользуемые ссылки в моих проектах?
Я знаю, что вы можете легко удалить операторы 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).
Некоторые сообщения, похоже, отвечают на вопрос: «Как удалить из файла исходного кода предложения using (C #), которые не нужны для разрешения каких-либо ссылок в этом файле».
В этом случае ReSharper действительно помогает несколькими способами:
Определяет неиспользуемые предложения using во время обнаружения ошибок «на лету». Они отображаются как предупреждения проверки кода - код в файле будет выделен серым цветом (по умолчанию), и ReSharper предоставит подсказку для его удаления:
http://www.jetbrains.com/resharper/features/code_analysis.html#On-the-fly_Error_Detection
Позволяет автоматически удалять их в процессе очистки кода:
Наконец, поймите, что ReSharper выполняет статический анализ кода вашего решения. Таким образом, если у вас есть динамическая ссылка на сборку - скажем, через отражение или сборку, которая динамически загружается во время выполнения и доступна через интерфейс, - она не подхватится. Ничто не заменит понимание вашего кода. base и зависимостей проекта, когда вы работаете над своим проектом. Я считаю, что функции ReSharper очень полезны.
вы можете использовать расширение "Удалить неиспользуемые ссылки", которое я написал:
http://visualstudiogallery.msdn.microsoft.com/9811e528-cfa8-4fe7-9dd1-4021978b5097 < / а>
Удаление неиспользуемых ссылок - это функция, которую Visual Studio 2008 уже поддерживает. К сожалению, только для проектов VB .NET.
Я сделал предложение в Microsoft Connect, чтобы получить эту функцию и для проектов C #:
http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=510326
Если вам тоже нравится эта функция, вы можете проголосовать за мое предложение.
Попробуйте это: Помощник по справочной информации
Резюме
Помощник по ссылкам помогает удалить неиспользуемые ссылки из проектов C #, F #, VB.NET или VC ++ / CLI в Visual Studio 2010.
ReSharper 6.1 будет включать следующие функции:
Оптимизация ссылок: проанализируйте ссылки на сборки и их использование в коде, получите список повторяющихся ссылок и удалите их.
Удалить неиспользуемые ссылки: быстрый рефакторинг для удаления избыточных ссылок на сборки.
Безопасное удаление ссылок на сборки: удаляет ссылки на сборки, если все они избыточны, в противном случае предотвращает использование и может удалить только избыточные ссылки на сборки из выбранного списка.
ReSharper сделает это за вас (и многое другое!)
Я сделал это без расширения в VS 2010 Ultimate Architecture-> Generate Dependency Graph-> By Assembly, он показывает используемые сборки и вручную удаляет неиспользуемые ссылки.
У меня есть бесплатный ответ, который работает в любой версии Visual Studio и любой версии Framework. Он не удаляет неиспользуемые ссылки, но идентифицирует их.
Вы можете использовать Telerik JustDecompile для DLL вашего проекта. Просто откройте dll в JustDecompile и перейдите в References, чтобы увидеть, что на самом деле используется в скомпилированной dll.
Учитывая, что VisualStudio (или это msbuild?) Обнаруживает неиспользуемые ссылки и не включает их в выходной файл, вы можете написать сценарий, который анализирует ссылки из csproj и сравнивает это со ссылочными сборками, обнаруженными путем отражения на выход проекта.
Если вы мотивированы ...
Я думаю, что они скопированы в bin \, потому что в проекте, который удалил ссылку, есть ссылка на другой проект, который имеет такую же ссылку ...
Если вы знаете, какие ссылки не используются, вы можете удалить их вручную.
В обозревателе решений щелкните правой кнопкой мыши ссылку в узле Ссылки и выберите команду Удалить.