诊断 ID

诊断 ID 用于标识可能引发编译器警告或错误的 API 或模式。 这可以通过 或 ExperimentalAttribute完成DiagnosticId。 对于每个诊断 ID,可以在使用者级别禁止显示这些 ID。

实验性 API

OOXML0001

标题:IPackage 相关 API 目前处于试验阶段

从 v3.0 起,在 和 DocumentFormat.OpenXml.Packaging.OpenXmlPackage之间System.IO.Packaging添加了新的抽象层。 这目前是实验性的,但如果需要,可以使用。 这将在未来的版本中稳定下来,并且可能需要也不需要更改代码。

禁止显示警告

建议尽可能使用可用的解决方法。 但是,如果无法更改代码,可以通过指令或<NoWarn>项目设置来禁止显示警告#pragma。 如果必须使用过时的或实验性的 API, OOXMLXXXX 并且诊断未显示为错误,则可以在代码或项目文件中取消显示警告。

若要禁止显示代码中的警告,请使用以下命令:

// Disable the warning.
#pragma warning disable OOXML0001

// Code that uses obsolete or experimental API.
//...

// Re-enable the warning.
#pragma warning restore OOXML0001

若要禁止在项目文件中显示警告,请执行以下操作:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
   <TargetFramework>net6.0</TargetFramework>
   <!-- NoWarn below suppresses SYSLIB0001 project-wide -->
   <NoWarn>$(NoWarn);OOXML0001</NoWarn>
   <!-- To suppress multiple warnings, you can use multiple NoWarn elements -->
   <NoWarn>$(NoWarn);OOXML0001</NoWarn>
   <NoWarn>$(NoWarn);OTHER_WARNING</NoWarn>
   <!-- Alternatively, you can suppress multiple warnings by using a semicolon-delimited list -->
   <NoWarn>$(NoWarn);OOXML0001;OTHER_WARNING</NoWarn>
  </PropertyGroup>
</Project>

注意

以这种方式取消警告只会禁用指定的过时警告。 它不会禁用任何其他警告,包括具有不同诊断 ID 的过时警告。