Analizę kodu wykonujemy dla wszystkich naszych plików źródłowych. Jednym z naszych plików źródłowych jest plik generowany przez Linq-To-SQL, który nie ma kontroli nad generowanym wyjściem. Wygenerowany kod generuje ostrzeżenia dotyczące analizy kodu, które chciałbym pominąć. Czy istnieje sposób, w jaki mogę pominąć ostrzeżenia CA w pliku generowanym przez kod, który nie wymaga tworzenia atrybutów i/lub pragmy w samym kodzie (który zostanie nadpisany za każdym razem, gdy plik zostanie wygenerowany)?Analiza kodu na wygenerowanym pliku generatora kodu - jak tłumić ostrzeżenia?
Odpowiedz
Czy zajęcia mają atrybut [GeneratedCode]? Jeśli tak, możesz dostać FxCop aby je zignorować:
Korzystanie projekt FxCop:
- Otwórz projekt FxCop w FxCop
- Wybierz Project -> Opcje -> Pisownia & Analizy
- Sprawdź Pomiń wyniki analizy w odniesieniu do wygenerowanego kodu
- Kliknij OK.
Via linii poleceń:
- zdać przełącznika/ignoregeneratedcode, na przykład:
FxCopCmd.exe /file:MyAssembly.dll /out:AnalysisResults.xml /ignoregeneratedcode
Jeśli używasz FxCop GUI może po prostu wykluczyć te problemy w ramach projektu FxCop. Kliknij problem prawym przyciskiem myszy i wybierz Wyklucz, gdzie możesz, a także dodaj komentarz.
Ale jeśli uruchomisz FxCop w oknie wyjściowym, nie mam pojęcia. Może mógłbyś sprawdzić, czy jest możliwe utworzenie suppressMessage na poziomie modułu i wklejenie go do AssemblyInfo.cs. Ale nie sądzę.
jest inna odpowiedź w pokrewnym pytaniu tutaj na SO, która wskazuje, że możesz dodać tłumienie na poziomie modułu do assemblyinfo.cs, ale właśnie wypróbowałem to i nie mogłem zmusić go do pracy. Mogę dodać SuppressMessage do każdej indywidualnej metody, ale to jest całkowity ból w szyi, kiedy chcę zignorować błąd dla wszystkiego w konkretnym zespole. Mamy nadzieję, że ktoś odpowie na to rozwiązanie !!! – Dave
Możesz obejść brak atrybutu GeneratedCode
, używając własnego oddziału klas częściowych, aby zastosować ten atrybut. Oznacza to, że każdy niestandardowy kod, który dodasz (w tym wdrożenie metod częściowych) zostanie wykluczony. Np .:
namespace MyApp.DB {
[GeneratedCode("LINQ To SQL", "4.0")]
internal partial class MyAppDataContext {
}
// Repeat for each entity
}
Ten atrybut automatycznie generuje ten atrybut. Większość dodatków zaczyna ignorować częściowe klasy generowane z ".generated" w nazwie pliku.
[System.CodeDom.Compiler.GeneratedCode ("CodeSmith", "5.0.0.0")]
- 1. Jak ukryć analizę kodu na wygenerowanym kodzie?
- 2. Analiza kodu VS2011
- 3. Analiza kodu w języku F #
- 4. Analiza zasięgu kodu zniknie
- 5. PMD - ostrzeżenia analizatora kodu
- 6. TYPO3: jak tłumić przestarzałe ostrzeżenia?
- 7. Analiza kodu VS2010. Tłumić wiadomość CA1051: DoNotDeclareVisibleInstanceFields dla wszystkich członków klasy
- 8. Dynamiczna analiza kodu dla C++
- 9. Analiza kodu bajtowego w Javie
- 10. Jak tłumić wiele ostrzeżeń FindBugs dla tego samego wiersza kodu?
- 11. Pokrycie kodu, analiza i profilowanie dynamicznie generowanego kodu
- 12. Jak tłumić ostrzeżenia w vim-latex?
- 13. Szukam autonomicznego wiersza poleceń, skryptu kodu generatora
- 14. Jak tłumić ostrzeżenia w Qt Creator
- 15. Analiza kodu brakuje Visual Studio 2008
- 16. Jak tłumić ostrzeżenia na całym świecie w Skrypcie R
- 17. Błąd generatora kodu: Nie ma typu jednostki na DbContext
- 18. Analiza kodu nie wyświetla ostrzeżenia CA1804 pomimo nieużywanej lokalnej zmiennej łańcuchowej w C# (VS2010 Premium)
- 19. Jak napisać własny backend generatora kodu dla gcc?
- 20. Generator kodu źródłowego pliku Bazel
- 21. Jak skonfigurować StyleCop do tłumienia ostrzeżeń na wygenerowanym kodzie?
- 22. Rozszerzenie pliku kodu rozszerzeń
- 23. Jak tłumić ostrzeżenia valgrind przez pochodzenie niezainicjowanych wartości?
- 24. Jak ukryć ostrzeżenia Perla emitowane z kodu załadowanego modułu?
- 25. SBT generowanie kodu przy użyciu zdefiniowanego projektu generatora
- 26. Konwersja kodu pliku repozytorium git
- 27. Brakuje menu Visual Studio 2012 "analiza zasięgu kodu"
- 28. Blokowanie kodu Git kodu przeniesionego/usuniętego w pliku
- 29. CA1001 Ostrzeżenie Visual Studio 2012 Analiza kodu. Co to znaczy?
- 30. Jak mogę określić umowy kodu dla istniejącego kodu (BCL)?
ma SuppressMessage działa, jeśli zadzwonię do fxcopcmd.exe za pomocą wiersza poleceń? – Kiquenet
Tak, to powinna zrobić – Paolo