Значення рівня попередження Visual Studio?


92

На вкладці збірки в проекті веб-додатків у мене є параметр, що називається "Рівень попередження". Я можу встановити значення від 0 до 4. Що означають ці значення? Чи буде значення 0 більш суворим і генеруватиме більше попереджень, чи навпаки? Я ще не зміг знайти жодної документації щодо нього, але, можливо, я шукаю не в тому місці.

Відповіді:


108

Це посилання показує визначення рівнів попередження (я припускаю, що ви використовуєте код C # у своєму веб-проекті). 4 рівень - найсуворіший.


  • 0: вимикає випромінювання всіх попереджувальних повідомлень.
  • 1: Відображає суворі попереджувальні повідомлення.
  • 2: Відображає попередження рівня 1 плюс певні, менш суворі попередження, такі як попередження про приховування учасників класу.
  • 3: Відображає попередження рівня 2 та певні, менш суворі попередження, такі як попередження щодо виразів, які завжди оцінюються як істинні чи хибні .
  • 4: Відображає всі попередження рівня 3 плюс інформаційні попередження. Це рівень попередження за замовчуванням у командному рядку.

Дякую, це саме те, що я шукав.
Джон Такбері

7
Можу запропонувати скопіювати рівні у вашій відповіді на випадок, якщо посилання буде порушено. Щось, що рідко трапляється з веб-сайтом Microsoft. : D
Самуель

10

Вище - суворіше. Це може дратувати, коли ви бачите всі застереження, які можуть чи не означатимуть багато для вашого додатка, але витратити час на їх очищення може навчити вас багато чому.


Я відстою це. Це може бути приємним варіантом, наприклад, для проектів модульних тестів, де включення вашого набору правил може бути надмірним або навіть непридатним для типу коду.
Олівер Шиммер,



0

Крім того, F # піднімається до рівня попередження 5:

--warn: рівень попередження

Встановлює рівень попередження (від 0 до 5). За замовчуванням рівень 3. Кожне попередження отримує рівень на основі його серйозності. Рівень 5 дає більше, але менш суворі попередження, ніж рівень 1.

Попередженнями рівня 5 є: 21 (рекурсивне використання перевіряється під час виконання), 22 (нехай оцінка не працює), 45 (повна абстракція) та 52 (захисна копія)

https://docs.microsoft.com/en-us/dotnet/fsharp/language-reference/compiler-options


-2

Наприклад, встановлення рівня попередження до 4 або /W4означає, що компілятор буде розглядати всі попередження як помилки. В основному реагує компілятор, побачивши те, що йому неприємно. І, до речі, рівень 0 оборотів усіх попереджень.


8
Рівень 0 вимикає попередження, але рівень 4 не сприймає попередження як помилки - він "відображає всі попередження рівня 3 та інформаційні попередження".
zastrowm
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.