【发布时间】:2015-11-10 09:33:43
【问题描述】:
我们使用Visual Studio Code Analysis Rules 进行代码质量检查。我们已经创建了自定义的.ruleset 文件并将一些违规标记为Errors,这样每次有人违反这些规则时,他都会收到编译错误并必须解决问题。
现在在debug 模式下一切正常,但是当我在release 模式下构建项目时,规则1804 i.e. Remove unused locals 没有出现任何错误。事实上,这种违规行为完全没有出现在违规列表中,甚至没有作为警告!
知道需要设置构建配置来运行代码分析规则,我已经为项目属性中的所有配置启用了代码分析,如下所示 - 这样做适用于除 1804 之外的所有其他规则。
这似乎是代码分析的错误,还是出于某种我不知道的原因,它是一种有效的行为,有什么可以让它工作的吗?
我正在使用 Visual Studio 2013
【问题讨论】:
-
警告没有齿,基本原因是默认没有开启。编译器已经在优化的发布版本中删除了未使用的局部变量。另请注意,您必须拥有完整的 .pdb,这是发布版本中的另一个问题。
-
感谢@HansPassant。知道编译器如何处理未使用的变量真是太好了。但是我认为打开这个警告仍然很好,因为我们已经看到了一些实例,比如在 heave db 调用之后填充一个集合或者像这样,并且它没有被使用,所以不仅仅是那个变量,而是调用说 db 等. 也可以从代码中清除。谢谢
标签: visual-studio code-analysis fxcop