2009-04-29 46 views
4

我正在使用最新版本的resharper。刚刚下载并安装上周,所以我是新使用它。我遇到的问题是,在我的ASP.NET MVC应用程序中,我的所有控制器都表示它们从不使用,控制器中的所有方法都表示它们从不使用。resharper与asp.net mvc有问题吗?

是否有一种方法可以抑制消息或让resharper理解它们被使用?

+0

是的,这是目前版本的resharper中的一个问题。此外,当解决方案分析打开时,resharper似乎在ASP.NET MVC中的强类型视图中遇到问题。 – Marek 2010-04-10 20:46:41

回答

9

您可以打开/关闭Resharper为您提供的各种警告和提示。然而,如果你编写单元测试,那么他们将被使用,并且Resharper会很高兴。

更新

你可以考虑告诉ReSharper的在顶部和控制器类的底部这样无视你的控制器的未使用成员...

public class MyController: Controller 
{ 
    // ReSharper disable UnusedMember.Global 

    ...   

    // ReSharper restore UnusedMember.Global 
} 

...或,至少把这些评论放在你的控制器上的公共方法上(我使用StyleCop,所以所有的公共方法都会被分组在一起,这是相当不显眼的,并且会摆脱Resharper的这个警告。)

+0

单元测试,对吧?那些是什么? :) – 2009-04-29 13:44:54

+5

淘气的男孩。写1000次“我必须编写单元测试”;) – 2009-04-29 13:51:06

1

我不知道这会迫使Resharper“知道”使用了一种方法(我从来没有遇到过这个问题)。

如果您不想全局打开/关闭各种检测选项,您可以选择使用评论来抑制特定的检测消息。是这样的...

// ReSharper disable UnusedPrivateMember 
private void NotUsed() 
{ 
    // ... Code ... 
} 
// ReSharper restore UnusedPrivateMember 
6

是的,目前的ReSharper的版本不会对MVC控制器引用(虽然,下一个会)。

在此期间,您可以使用ImplicitUse属性标记控制器类和操作方法。 你可以在JetBrains.Annotations程序集中找到它。 如果你不需要外部依赖,你可以添加必要的注释属性到你的项目中,你会在ReSharper-> Options-> Code Inspection-> Code Annotation-> Copy default implementation中找到它们。