【问题标题】:Suppressing obsolete warnings in VB.NET在 VB.NET 中抑制过时的警告
【发布时间】:2009-05-13 12:43:45
【问题描述】:

我在 Visual Studio 2008 中有 VB.NET 代码,使用了一种过时的方法,并希望禁止显示警告。不幸的是,遵循建议并不是一个好的解决方案,因为它需要使用不同的类,它在重要方面的工作方式不同。

我正在尝试使用 System.Diagnostics.CodeAnalysis.SuppressMessage 抑制警告,但我不知道该写什么作为属性的参数并且找不到任何相关参考。

我也应该说,右键单击错误列表中的错误我没有任何“抑制消息”选项。

【问题讨论】:

  • 过时的东西通常是有原因的,所以你绝对应该在代码中有一个“TODO”来提醒你一旦你有一些免费的开发就将方法更新到新的方式循环。
  • 不幸的是,没有办法在不破坏向后兼容性的情况下删除过时的代码。

标签: vb.net warnings obsolete


【解决方案1】:

如果您使用的是 Visual Studio,则可以执行以下操作。

  1. 右键单击项目并选择“卸载”
  2. 右键单击项目并选择“编辑 SomeProjectName.vbproj”
  3. 您应该会看到两个名为“NoWarn”的 XML 元素标记。将数字 40000 添加到已经存在的数字列表中(确保对文件中的每个 NoWarn 标记都这样做)
  4. 保存文件
  5. 右键单击项目并选择重新加载(您必须关闭 .vbproj 文件)

这将消除警告。数字 40000 是过时警告的 VB.Net 错误号。您可以通过这种方式隐藏任何警告。

注意:如果 NoWarn 标记不存在,请将其添加到具有以下值的主 PropertyGroup 元素

<NoWarn>40000</NoWarn>

【讨论】:

  • 请注意,这将消除您项目中的所有个过时警告,而不仅仅是这一个实例...
  • 另请注意,您必须从主组中删除所有空的 NoWarn 标签才能正常工作。
【解决方案2】:

在 VS.NET 中,您可以右键单击并抑制代码分析警告。这将为您添加属性。

但是,“不要使用过时的 API”警告并非来自代码分析,因此 SurpressMessage 属性将不起作用。这是一个编译器警告。

对于 VS.NET,您需要使用...关闭此警告

/nowarn:0618

... 在命令行中(或者只是将“0618”添加到 csproj 属性的 Suppress Warnings 字段中)。无论 VB 警告编号是什么,您都应该这样做。

【讨论】:

  • 出于某种原因,我没有那个选项。考虑添加该信息为时已晚:(
  • 更新了我的答案 - 这不是 CA 警告(是吗?)
【解决方案3】:

我能够通过 JaredPar 在我的 VB 项目中的回答解决这个问题,谢谢!

我的 C# 测试项目确实收到了相同的警告,我通过在项目属性的构建选项卡的抑制警告部分添加 618 删除了该警告。

请记住 VB 和 C# 的错误代码是不同的。


如果要纠正这些警告,则需要为 Microsoft OracleClient Developers 安装和使用 ODP.NET

Microsoft 正在弃用 System.Data.OracleClient,也称为 Microsoft OracleClient。 Microsoft OracleClient 提供程序开发人员可以利用这个机会重新评估当前和即将进行的项目使用哪个数据提供程序。 Oracle 建议开始使用 Oracle Data Provider for .NET (ODP.NET) 构建新的 Oracle .NET 应用程序,并将现有应用程序迁移到 ODP.NET。

http://www.oracle.com/technetwork/topics/dotnet/index-085703.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-09
    • 2019-03-17
    • 2012-08-13
    • 2023-03-22
    • 1970-01-01
    • 2011-03-31
    • 2019-10-22
    • 2014-12-19
    相关资源
    最近更新 更多