2009-09-18 27 views

Odpowiedz

1

Pobrałem FxCop sugerowane przez użytkownika @ TrueWill komentarzu odpowiedź @AnthonyWJones. To dało mi SuppressMessage:

[SuppressMessage("Microsoft.Globalization", 
    "CA1305:SpecifyIFormatProvider", 
    MessageId = "System.String.Format(System.String,System.Object)")] 

To było o wiele trudniejsze, niż powinno być. Co stało się z integracją FXCop w Visual Studio? Dzięki odpowiedziom za ich pomoc.

+0

Dziękuję, w jaki sposób wyłączyć ostrzeżenia StyleCop SA1307 i SA1305? –

+0

@Hamish: Nie wiem o StyleCop. Być może będziesz musiał zadać nowe pytanie na ten temat. –

+0

Dobra, zrobiłem to.Na wypadek, gdyby ktoś inny uznał to za przydatne, tutaj znajduje się link do pytania: http://stackoverflow.com/questions/5265154/how-to-disable-stylecop-warnings-sa1307-and-sa1305-arounda-a- struct –

1

Zastosowanie #pragma warning(suppress: Cxxxx)

można umieścić pragmy w odpowiednim zakresie w pliku źródłowym (czyli klasy, metody)

Zobacz http://msdn.microsoft.com/en-us/library/2c8f766e(VS.80).aspx

+0

#pragma ostrzeżenie działa dla ostrzeżeń kompilatora. Czy działa również w przypadku analizy kodu? – OregonGhost

+0

To nie działa dla reguł FxCop. – JaredPar

+0

@OregonGhost #pragma warning (suppress) został wprowadzony specjalnie do analizy kodu TFS. –

5

Możesz użyć atrybutu SupressMessage w ten sposób: -

[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2233:OperationsShouldNotOverflow", MessageId = "newValue+1", Justification = "The reason I think its acceptable in this case")] 
void SomeMethod() 
{ 
    // Some code that would normal cause this Code Analysis message 
} 

na metodzie, nieruchomości, rodzaju itp

+0

@AnthonyWJones: Próbowałem '[System.Diagnostics.CodeAnalysis.SuppressMessage (" Microsoft.Usage "," CA1305: Microsoft.Globalization ")]' (dla zwięzłość) na metodzie, ale nadal wyświetlane ostrzeżenie. Jakieś pomysły? –

+0

@Alex: Spróbuj zmienić kategorię na "Microsoft.Globalization", zobacz: - http://msdn.microsoft.com/en-us/library/ms182190.aspx – AnthonyWJones

+1

Możesz spróbować uruchomić FxCop, klikając prawym przyciskiem myszy błędy i wybranie opcji Kopiuj jako suppressMessage. To powinno dać ci właściwy tekst atrybutu. – TrueWill

Powiązane problemy