Как мне найти и удалить неиспользуемые ссылки в моих проектах?
Я знаю, что вы можете легко удалить операторы using в vs 2008, но это не удаляет фактическую ссылку в ваших проектах. Указанная dll по-прежнему будет скопирована в ваш пакет bin / setup.
.net
visual-studio
reference
Борис Калленс
источник
источник
Ответы:
* Примечание: см. 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
Позволяет автоматически удалять их в рамках процесса очистки кода:
http://www.jetbrains.com/resharper/features/code_formatting.html#Optimizing_Namespace_Import_Directives
Наконец, поймите, что ReSharper выполняет статический анализ кода вашего решения. Итак, если у вас есть динамическая ссылка на сборку - скажем, через отражение или сборку, которая динамически загружается во время выполнения и доступна через интерфейс, - она ее не заберет. Ничто не заменит понимание вашей кодовой базы и зависимостей проекта во время работы над своим проектом. Я считаю, что функции 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
Если вам тоже нравится эта функция, вы можете проголосовать за мое предложение.
источник
Попробуйте это: Помощник по справке
источник
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 \, потому что в проекте, который удалил ссылку, есть ссылка на другой проект с такой же ссылкой ...
источник
Если вы знаете, какие ссылки не используются, вы можете удалить их вручную.
В обозревателе решений щелкните правой кнопкой мыши ссылку в узле « Ссылки» и выберите команду « Удалить».
источник