2014-08-28 4 views
7

Ich habe einige benutzerdefinierte Regeln in C# geschrieben und befolge die Schritt-für-Schritt-Anweisungen, die ich unter this site gefunden habe. Wenn ich versuche, Code Analysis in auszuführen, erhalte ich einen CA0054-Fehler in dem CA-Ergebnisbereich.Wie debugge ich benutzerdefinierte Code Analysis-Regeln?

Ich möchte meine Regel debuggen, da die Ausnahme offensichtlich davon ausgelöst wird. Allerdings kann ich nicht herausfinden, wie das geht. Ich habe versucht, eine neue Instanz von Visual Studio an die andere laufende Instanz anzuhängen, aber es funktioniert nicht.

Es gibt viele Ressourcen im Web zum Debuggen von benutzerdefinierten Regeln, aber sie sind alle für die alte Version von FxCop, mit der separaten GUI und allem. Ich glaube nicht, dass das für meinen Fall relevant ist.

Fehle ich hier etwas?

Antwort

2

Ich habe meine Antwort hier:

How to write custom static code analysis rules and integrate them into Visual Studio 2010

Sie können benutzerdefinierte Regeln durch FxCopCmd.exe debuggen. Normalerweise würden Sie Ihre Regel gegen ein anderes Projekt ausführen. Um die Anweisungen in diesem Blog zu vereinfachen, werden wir unsere neue Regel gegen die Implementierung der Regel selbst ausführen. In den Projekteigenschaften für Ihre benutzerdefinierten Regeln Projekt auf der Registerkarte Debuggen Sie den folgenden

  1. Konfigurieren Sie das Projekt ein externes Programm zu starten und auf dem Weg zu FxCopCmd.exe eingeben. Zum Beispiel C: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ Team-Tools \ Static Analysis Tools \ FxCop \ FxCopCmd.exe

  2. für Argumente Befehlszeile angeben /out:"results.xml“/ Datei : "MyCustomRules.dll" /rule:"MyCustomRules.dll“/ D: "C: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ Team-tools \ Static Analysis tools \" FxCop

  3. das Set Arbeitsverzeichnis zum Build-Ausgabeordner. Zum Beispiel C: \ \ Projects MyCustomRules \ MyCustomRules \ bin \ Debug \

Jetzt können Sie Ihre benutzerdefinierten Regeln zu prüfen, ist einfach schlagen F5 von Ihrem benutzerdefinierten Regeln Projekt. Versuchen Sie es