On the build tab in a Web Application project I have a setting called \"Warning Level\". I can set a value from 0 to 4. What do these values mean? Will a value of 0 be more
Higher is stricter. It can be annoying to see all the warnings that may or may not mean much to your app, but taking the time to clear them up can teach you a lot.
For example setting a warning level to 4 or /W4
means the compiler will treat all warnings as errors. It's mostly how the compiler reacts when it sees something that it doesn't feel good about. And, by the way, a level of 0 turns of all warnings.
0 turns off warnings completely, while 4 is the most verbose level. See the documentation here which has the same warning levels.
This link shows you the definitions of the warning levels (I'm assuming you are using C# code in your web project). Level 4 is the most strict.
Additionally, F# goes up to Warning Level 5:
--warn:warning-level
Sets a warning level (0 to 5). The default level is 3. Each warning is given a level based on its severity. Level 5 gives more, but less severe, warnings than level 1.
Level 5 warnings are: 21 (recursive use checked at runtime), 22 (let rec evaluated out of order), 45 (full abstraction), and 52 (defensive copy)
https://docs.microsoft.com/en-us/dotnet/fsharp/language-reference/compiler-options
You can check Microsoft's levels here. Level 0 is essentially none while level 4 will be the most strict.