2009-04-29 13 views
4

Ich benutze die neueste Version von Resharper. Gerade heruntergeladen und letzte Woche installiert, damit ich neu damit bin. Das Problem, das ich habe, ist, dass in meiner ASP.NET MVC-Anwendung alle meine Controller sagen, dass sie nie verwendet werden und alle Methoden innerhalb des Controllers sagen, dass sie nie verwendet werden.Hat Resharper Probleme mit asp.net mvc?

Gibt es eine Möglichkeit, die Nachrichten zu unterdrücken oder um zu verstehen, dass sie verwendet werden?

+0

Ja, das ist ein Problem in der aktuellen Version von Nachschärfer. Außerdem scheint Resharper Probleme mit stark typisierten Ansichten in ASP.NET MVC zu haben, wenn die lösungsweite Analyse aktiviert ist. – Marek

Antwort

9

Sie können die verschiedenen Warnungen und Hinweise, die Resharper Ihnen gibt, ein- und ausschalten.

JEDOCH, wenn Sie Komponententests schreiben, dann werden sie verwendet und Resharper wird glücklich sein.

Update

Sie in Erwägung ziehen könnte sagen, ReSharper die ungenutzten Mitglieder des Controllers zu ignorieren, indem diese am oberen und unteren Rand des Controller-Klasse zu tun ...

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

    ...   

    // ReSharper restore UnusedMember.Global 
} 

... oder , zumindest diese Kommentare um die öffentlichen Methoden auf Ihrem Controller (ich benutze StyleCop und so alle öffentlichen Methoden werden sowieso zusammen gruppiert. Dies ist ziemlich unaufdringlich, und würde diese Warnung von Resharper los.

+0

Unit Tests, nicht wahr? Was sind diese? :) –

+5

Frecher Junge. Schreibe 1000 mal "Ich muss Komponententests schreiben";) –

+0

Ich möchte Warnungen, wenn Dinge nicht verwendet werden, aber die Controller verwendet werden. Was ich wirklich frage, ist, dass es einen Weg geben kann, dies nachzuvollziehen. –

1

Ich weiß auf keinen Fall, dass Resharper "wissen" muss, dass eine Methode verwendet wird (ich habe dieses Problem mit Resharper noch nie erlebt).

Wenn Sie verschiedene Inspektionsoptionen nicht global ein- und ausschalten möchten, können Sie bestimmte Inspektionsnachrichten mit einem Kommentar unterdrücken. Wie so ...

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

Yep, aktuelle ReSharper Version stellt keine Verweise auf MVC-Controller (obwohl, wird nächste).

In der Zwischenzeit können Sie Controller-Klasse und Aktionsmethoden mit ImplicitUse-Attribut markieren. Sie können es in JetBrains.Annotations Assembly finden. Wenn Sie keine externe Abhängigkeit wünschen, können Sie Ihrem Projekt die notwendigen Annotationsattribute hinzufügen. Sie finden diese in ReSharper-> Optionen-> Code-Inspektion-> Code-Annotation-> Standardimplementierung kopieren.

+0

Das ist wirklich die beste Lösung - danke! –