我正在使用最新版本的resharper。上周刚下载并安装,所以我对它的使用还很陌生。我遇到的问题是,在我的ASP.NET MVC应用程序中,所有的控制器都显示未被使用,控制器内的所有方法也都显示未被使用。
是否有一种方法可以抑制这些消息,或让resharper理解它们实际上是被使用的呢?
我正在使用最新版本的resharper。上周刚下载并安装,所以我对它的使用还很陌生。我遇到的问题是,在我的ASP.NET MVC应用程序中,所有的控制器都显示未被使用,控制器内的所有方法也都显示未被使用。
是否有一种方法可以抑制这些消息,或让resharper理解它们实际上是被使用的呢?
您可以打开/关闭Resharper给您提供的各种警告和提示。
然而,如果您编写单元测试,它们将会被使用,Resharper也会很高兴。
更新
您可以考虑在控制器类的顶部和底部执行以下操作,告诉Resharper忽略掉您的控制器中未使用的成员...
public class MyController: Controller
{
// ReSharper disable UnusedMember.Global
...
// ReSharper restore UnusedMember.Global
}
...或者,至少在控制器的公共方法周围放置这些注释(我使用StyleCop,因此所有公共方法都将被分组在一起)。这样不会太显眼,可以消除Resharper的警告。
是的,当前版本的ReSharper不会在MVC控制器上放置引用(不过下一个版本会)。
在此期间,您可以使用ImplicitUse属性标记控制器类和操作方法。 您可以在JetBrains.Annotations程序集中找到它。 如果您不想要外部依赖项,您可以向项目添加必要的注释属性,在ReSharper->选项->代码检查->代码注释->复制默认实现中找到它们。
我不知道有什么方法可以强制Resharper“知道”某个方法已被使用(我从未遇到过这个问题与Resharper)。
如果您不想全局开启/关闭各种检查选项,您可以选择使用注释来禁止特定的检查信息。像这样...
// ReSharper disable UnusedPrivateMember
private void NotUsed ()
{
// ... Code ...
}
// ReSharper restore UnusedPrivateMember