【问题标题】:Suppressing warnings for solution抑制解决方案的警告
【发布时间】:2018-03-29 19:51:42
【问题描述】:

我似乎无法通过进入 Project Settings > Build > Suppress warnings 来抑制 Visual Studio 2017 解决方案中的警告:

即使我清理 - 构建、重建等...解决方案,Visual Studio 也会不断为我显示这些警告。

我昨天通过a visualstudio.com report 提出了这个问题,目前它正在“分类”。是否有替代方法来抑制解决方案中的警告,而不标记每个引用?

版本:15.6.2

更新: 这很奇怪。 Visual Studio 2017 默认使用分号,但逗号有效。

【问题讨论】:

    标签: visual-studio visual-studio-2017


    【解决方案1】:

    我在解决方案范围内执行此操作的方法是在方便的解决方案级别位置创建特定的抑制文件,例如 GlobalSuppressionsForTestProjects.cs。

    然后,对于我希望应用抑制定义的解决方案的每个项目,我添加一个指向抑制文件的链接:

    • 右键项目->添加->现有项目
    • 在选择对话框中,导航到抑制文件
    • 点击Add as Link

    我从this post 学到了这个技巧,在AssemblyInfo.cs 文件中应用了相同的方法。

    【讨论】:

      【解决方案2】:

      我一般用pragma directives:

      #pragma warning disable 1591 
      // whatever member is lacking xml comments, or even the whole file
      #pragma warning restore 1591
      

      以上链接中的逐字记录:

      禁用:不发出指定的警告消息。

      如果你真的想在解决方案范围内禁用警告,there's no way to do it。

      所有编译选项都在项目级别指定。 MSBuild 存在于解决方案级别之下。

      但可以按项目来完成,就像您在上面所做的那样;我唯一要改变的是使用逗号而不是像你的图片中的分号(最后没有逗号)分隔这些代码,例如:

      1591,1701,1702,1705
      

      那是因为编译器选项use a comma。

      【讨论】:

      • MSDN 在 C/C++ 下指定了这个,这适用于 C# 吗?
      • 是的。试试看,如果有效,请将我的答案标记为解决方案:D
      • 抱歉,这是内嵌的吗?我怎样才能为整个解决方案做到这一点?
      • 整个解决方案 - 我不知道。整个文件,是的,你可以,只需将它放在文件开头的第一行和末尾的第二行
      • 不幸的是,这是我真正的问题:一种处理这种解决方案的方法。谢谢你。
      【解决方案3】:

      您可能只需要重新启动 Visual Studio。这对我有用,仅供参考,我们不需要在您的文本框中包含错误的 CS 部分(尽管它仍然可以按书面形式工作,但您只需要这个数字。)您肯定已经在这些年重新启动了 VS首先问这个问题,但对于今天遇到这个问题的人,我希望这会有所帮助。 我有同样的警告(CS1591)同样的问题。因此,要使属性中的“抑制警告”真正起作用(而不是 #pragma 解决方案,这是一种合法的解决方法,但在重新启动后可能是不必要的键盘时间),您可能只需要重新启动 Visual Studio。

      【讨论】:

      • 我不会对此投反对票。仅仅是因为如果您的错误列表中有这些错误代码,VS 无法正确识别更改。但是重建具有相同的效果。一旦像 OP 一样放入项目设置中,它将清除这些代码。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-23
      • 1970-01-01
      • 2019-04-23
      • 2018-09-20
      • 2022-10-26
      相关资源
      最近更新 更多