ReSharper "Удалить неиспользуемые ссылки" не удаляет ссылки, добавленные через пакеты NuGet
Как заставить функцию ReSharper "Удалить неиспользуемые ссылки" работать с ссылками, добавленными через пакеты NuGet?
Всем привет. Я использую Visual Studio 2015 для работы над многопроектным решением на C#. У меня есть пакет NuGet (составленный из нескольких общих библиотек, разработанных внутри), который устанавливается на все проекты в рамках решения. Все проекты теперь имеют ссылки на каждую DLL, которая была включена в пакет, независимо от фактического использования DLL в проекте. Это упрощает управление ссылками для примерно 50 проектов, так как я могу быть уверен, что у каждого проекта есть ссылки, в которых он нуждается. План состоял в том, чтобы затем связаться с ReSharper, чтобы удалить неиспользованные ссылки. К сожалению, это не похоже на работу.
Вот что я пробовал:
- Если я добавлю ссылку из списка сборок в Менеджере ссылок, ReSharper сможет ее удалить.
- Если я добавлю ссылку из списка проектов в Менеджере ссылок, ReSharper может или не может удалить ее.
- Если я добавлю ссылку с помощью функции "Обзор" в Диспетчере ссылок, ReSharper может удалить или не удалить ее.
- Если я добавлю пакет NuGet по контекстному меню в решение или проект, ReSharper не сможет его удалить.
- Я попытался отредактировать сырые файлы проекта *.csproj, чтобы определить, есть ли какие-либо особые различия в способах ссылки на сборки, когда они добавляются как часть пакета NuGet. Я не смог найти причину; изменение элемента Reference для сборок из пакета NuGet, чтобы оно выглядело точно так же, как добавление различными способами в Reference Manager, не дало никаких изменений.
- Я попытался отредактировать и, наконец, удалить файл packages.config, который ничего не сделал, кроме как сообщить диспетчеру пакетов NuGet, что пакеты не установлены. Я повторил редактирование файла *.csproj после удаления файла packages.config, который все еще не работал.
- Я не смог найти никаких причин при экспериментировании со ссылочными свойствами в окне свойств Visual Studio.
- Я удалил кэши ReSharper, которые не решили проблему.
- Вновь созданные проекты имеют ту же проблему (ReSharper не может удалить ссылки, добавленные пакетами NuGet).
Вот мои настройки:
- Microsoft Visual Studio Enterprise 2015 - обновление 14.0.24720.00 1
- Диспетчер пакетов NuGet - 3.3.0
- ReSharper Ultimate - 10.0.2
Вот ссылка на страницу справки ReSharper для этой функции: https://www.jetbrains.com/resharper/help/Refactorings__Remove_Unused_References.html
У меня заканчиваются идеи для возможных решений, и любая помощь будет оценена.
Заранее спасибо!
1 ответ
Он будет добавлен в v10.1 (он же 2016.1), который сейчас находится в раннем доступе:
Оптимизировать ссылки научится обрабатывать ссылки NuGet, которые теперь отображаются в том же окне инструментов, что и все обычные ссылки, содержащиеся в проекте. ReSharper также добавляет новую группировку для отображения, возможно, неиспользуемых ссылок, которые имеют зависимости в проекте и, таким образом, не могут считаться избыточными.