繁体   English   中英

是否可以禁用特定的编译器警告?

[英]Is it possible to disable specific compiler warnings?

我试图压制特定的编译器警告,即System.Data.OracleClient.OracleConnection' is obsolete 我在这里遇到了这些问题:

如何禁用整个解决方案的特定警告?

全局抑制c#编译器警告

......但它们似乎不适用于VS2013。 当我转到项目的属性时,我没有看到Build选项卡。 我看到一个Compile选项卡,但它似乎没有地方指定要禁止的警告消息。 我看到一个名为Warning configurations的部分,但我没有看到我正在寻找的警告。

更新:事实证明我正在尝试为VB.NET执行此操作。 由于所选答案提供的链接,您必须编辑项目文件的XML并在<NoWarn></NoWarn>标记中提供警告代码。 但是,您必须知道错误列表中隐藏的警告代码。 获得它的一种方法是打开输出窗口并构建项目。 在我的例子中,warnign代码是40000 它显示为BC40000 ,但我不得不删除BC 重建项目后,警告消息消失了。

要禁止Visual C#或F#的特定警告:

  1. 在“ 解决方案资源管理器”中 ,选择要在其中禁止警告的项目。
  2. 在菜单栏上,选择“ 视图” ,“ 属性页”
  3. 选择“ 构建”页面。
  4. 在“ 抑制警告”框中,指定要抑制的警告的错误代码,以分号分隔,然后重建解决方案。

有关如何禁止Visual C ++和Visual Basic的特定警告的详细信息,请查看此处


另一种方法是使用#pragma warning可以启用或禁用某些警告:

#pragma warning disable warning-list
#pragma warning restore warning-list

警告名单

以逗号分隔的警告编号列表。 单独输入数字,不带“CS”前缀。 如果未指定警告编号,则禁用禁用所有警告,并且还原将启用所有警告。

对的,这是可能的。

#pragma warning disable 'warning-number-list'

其中warning-number-list是要禁用的警告编号的逗号分隔列表,例如1004

这将禁用从声明点到当前文件末尾的警告,除非重新启用:

#pragma warning restore 'warning-number-list'.

这些编译指示内联放置在您希望禁用/恢复警告的站点的代码中。

我相信在项目属性选项卡上还有一个位置可以指定要禁用的警告,如您所述。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM