Visual Studio将编译警告转换为构建错误

时间:2015-04-08 14:50:50

标签: c# visual-studio visual-studio-2012

在C#中,我注意到使用带有数字索引的string.Format可能很危险。我经常用它来记录。不正确的映射会导致异常:

  

索引(从零开始)必须大于或等于零且小于参数列表的大小。

示例:

Console.Log(string.Format("test string: var1: {0}, var2:{1}, var3:{2}", var1, var2); // using two arguments but three mappings in log string. 

我觉得这样的事情可以遇到异常应该是编译器错误而不是警告。我理解.Net框架无法做到这一点,因为它接收params []中的参数。

老实说,但我确实在我的解决方案中忽略了编译器警告。 不是因为我发现它们不重要,而是因为存储库中其他人提交的代码生成了太多警告。

问题:  1.在Visual Studio中是否有一种很好的方法可以获得某些警告的编译错误。 2.我是否可以遵循更好的编码习惯来避免这样的错误。

1 个答案:

答案 0 :(得分:2)

回答问题1.

您必须启用“将警告视为错误”

  1. 右键单击您的项目,选择“属性”。
  2. 点击“构建”。
  3. 从“全部”切换“将警告视为错误”至“特定警告”或“无”。
  4. 来源:This SO Question, from Googling我自己测试了

    对问题2的回答:我认为这是非常主观的,所以它更基于意见。也许不是手动将它们键入var1,var2,var3,而是可以将它们区分为一组,使用for-loop等。

    而且,单元测试。这是最重要的事情之一,即使每个人都讨厌它们。查看本书:Code Complete by Steve McConnell作为推荐资源。它也被用于许多关于程序设计和开发的大学课程中。