Jak mogę zignorować specyficzne reguły analizy kodu VS (powiedzieć CA1305: Microsoft.Globalization) w obrębie:Ignoruj zasady analizy kodu w Visual Studio
- metoda?
- Klasa?
- Namespace?
(Zakładając, że te opcje są możliwe).
Jak mogę zignorować specyficzne reguły analizy kodu VS (powiedzieć CA1305: Microsoft.Globalization) w obrębie:Ignoruj zasady analizy kodu w Visual Studio
(Zakładając, że te opcje są możliwe).
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.
Dziękuję, w jaki sposób wyłączyć ostrzeżenia StyleCop SA1307 i SA1305? –
@Hamish: Nie wiem o StyleCop. Być może będziesz musiał zadać nowe pytanie na ten temat. –
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 –
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
#pragma ostrzeżenie działa dla ostrzeżeń kompilatora. Czy działa również w przypadku analizy kodu? – OregonGhost
To nie działa dla reguł FxCop. – JaredPar
@OregonGhost #pragma warning (suppress) został wprowadzony specjalnie do analizy kodu TFS. –
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
@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? –
@Alex: Spróbuj zmienić kategorię na "Microsoft.Globalization", zobacz: - http://msdn.microsoft.com/en-us/library/ms182190.aspx – AnthonyWJones
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: http://stackoverflow.com/q/3683729/11410 – Benjol