为啥我的编译器警告只有一个被禁止?
Posted
技术标签:
【中文标题】为啥我的编译器警告只有一个被禁止?【英文标题】:Why is only one of my compiler warnings suppressed?为什么我的编译器警告只有一个被禁止? 【发布时间】:2019-02-12 12:14:43 【问题描述】:这就是我在Project Properties -> Build
中的抑制警告设置:
然而编译器似乎忽略的唯一警告是第一个警告CS0168
。我还有很多CS0414
警告:
为什么编译器不忽略CS0414
?
【问题讨论】:
尝试重建您的解决方案,如果这无助于尝试删除 bin 和 obj 目录。如果这不起作用,那肯定是一个错误 你确定你在正确的项目中设置了这个吗?此外,这些警告不应该被禁止,它们引用的代码可能是无用的。 @DavidG 我通常不喜欢隐藏任何警告,但我正在尝试将它们缩减为影响我和我正在使用的代码的列表。 似乎当我用分号 和 空格分隔警告编号时。 我正在使用完全更新的 Visual Studio 2017,您的确切抑制字符串对我有用 【参考方案1】:不要包含警告代码的前缀;只包括数字部分。
nowarn compiler option documentation
也就是说,在 VS Enterprise 2017 中,无论有无前缀都适用于我。
另一个想法是确保在发出这些警告的项目中抑制代码。
【讨论】:
@TheGeneral 虽然the docs 建议只使用数字部分。 @DavidG Hrm 可能是编译器选项、项目设置和文件之间的差异,虽然很奇怪,以上是关于为啥我的编译器警告只有一个被禁止?的主要内容,如果未能解决你的问题,请参考以下文章