Resharper-查找所有未使用的类

我知道如何通过右键单击文件并select“查找用法”选项来查找未使用的单个文件的引用。 有什么办法可以看到我的项目中所有未使用的类或文件的列表吗?

首先启用“分析解决scheme中的错误”(右键单击状态栏中的Resharper图标)。

然后右键单击解决scheme节点并select“查找代码问题”。 在“检查结果”工具窗口中,您可以按“问题types”进行分组,并查找“从不使用types或types成员”来获取所有未使用的类(以及更多未使用的符号)。

第二个选项(在启用“分析解决scheme中的错误”后)是去任何未使用的类,按Alt + Enter,select“选项”types或input成员…'检查“ find这种types的所有代码问题 整个解决scheme

检查结果窗口样本

@ulrichc的解决scheme听起来很完美,并且适用于不使用任何dependency injection框架(如Castle或Ninject)的小到中量级项目,但是如果使用DI容器(例如Castle),并且具有以下内容:

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会遍历程序集中的所有types,并且盲目地[基于方法参数]将它们添加到运行时的容器中。

您将需要像代理Mulder插件,它提供了在您的容器内注册或解决的types的导航。 这又可能在视觉上devise时间工作,但是除非每次删除未使用的类,否则在应用程序[所有可能的图层]内运行所有testing是80%确定您是安全的。 道德故事:一个类可能听起来没有用到Resharper,但是当你使用dependency injection时它可能会复活。