2 ответов:
сначала включите "анализ ошибок в решении" (щелкните правой кнопкой мыши на значке Resharper в строке состояния).
щелкните правой кнопкой мыши узел решение и выберите "Найти код". В окне инструмента " результаты проверки "вы можете сгруппировать по" типу проблемы "и искать" тип или член типа никогда не используется", чтобы получить все неиспользуемые классы (и многие другие неиспользуемые символы).
второй вариант (после включения "анализ ошибок в решении") - перейти к любому неиспользуемому классу, нажать Alt+Enter, выбрать "Вариантов типа или члена типа ...'inspection" | найти все проблемы с кодом этого типа / Все решение.
решение от @ulrichc звучит идеально и отлично работает для небольших и средних проектов, в которых вы не используете никаких Инъекции Зависимостей структура замок или Ninject но что делать, если вы используете DI контейнер [замок, например] и у вас есть что-то вроде следующего :
public class IoC { private WindsorContainer _container; private IoC() { _container = new WindsorContainer(); } public static void RegisterFromAssembly(Assembly assembly, string classEndsWith, LifeTime lifeTime) { var lifestyle = ConvertLifeStyleType(lifeTime); _container.Register(AllTypes.FromAssembly(assembly) .Where(type => type.Name.EndsWith(classEndsWith)) .WithService.AllInterfaces() .Configure(c => c.LifeStyle.Is(lifestyle)) .WithService.FirstInterface()); } }Как вы можете видеть RegisterFromAssembly проходит через все типы внутри сборки и вслепую [на основе параметра methods] добавляет их к контейнер во время выполнения.
вам понадобится что-то вроде Агент Малдер плагин, который обеспечивает навигацию для типов, зарегистрированных или разрешенных внутри ваших контейнеров. Это снова может визуально [время разработки возможно] работать, но вы не будете действительно уверены, если каждый раз, когда вы удаляете неиспользуемый класс, вы запускаете все тесты внутри своего приложения [каждый возможный слой], чтобы быть на 80% уверенным, что вы в безопасности. Мораль истории : класс может показаться непривычным для Resharper, но это может быть воскрешается при использовании инъекции зависимостей.

Comments