While developing application often we ignored several “build warnings” and only focused on fixing the “build errors”. What does those warning means? Are they really meant for ignore ? Or We are creating defects for future ? When compilers compile the code and that can’t be built, Visual Studio shows the build error and In case of success it shows the build succeeded . However, the compiler also shows warnings when the code compilation is successfully but there are areas which may need attention or violating some rules.
Most of the time, we ignored them or try to fix them later point when they come up in build report or as hidden defects. As a better practice we can stop avoid ignoring them and treat them as same priority as error.
Any compiler messages (compiler level warning) that would come up as warning will now display as errors; so that developer can fix them to move ahead.
Let’s take an example of Compiler Warning (level 3) CS1718 – Comparison made to same variable; did you mean to compare something else? .. If you meant to compare to something else, then you should simply correct the statement. Refer to this post for the details of warning.. and we often ignore this first time as warning.
If you try to build this code, you will get an warning as “Comparison made to same variable; did you mean to compare something else? “
Which seems to be a Warning, but could be potential error . So, it always better to be set them as error to avoid late comer defects.
From the Solution Explorer, Right click on the project –> Project Properties –> Navigate to Build Tab and then focus on the section called “Treat warnings as error”
By default it is set to “None” – This will continue showing all warning message with same preference . If you Select “All”, the compiler will start throwing error for the same warning messages.
Well, now select it as “All”
And then rebuild the same code base; Visual Studio will start throwing the error for the same.
If you want these to be works only on specific warning instead all ; you can select the “’Specific warnings” options and specify the warning code without “cs”. For multiple; please provide comma separated code.
Hope this helps and you will start exploring this.