Share via


Identificadores de diagnóstico

Los identificadores de diagnóstico se usan para identificar LAS API o patrones que pueden generar advertencias o errores del compilador. Esto se puede hacer a través de ObsoleteAttribute o ExperimentalAttribute. Se pueden suprimir en el nivel de consumidor para cada identificador de diagnóstico.

API experimentales

OOXML0001

Título: Las API relacionadas con IPackage son actualmente experimentales

A partir de la versión 3.0, se agregó una nueva capa de abstracción entre System.IO.Packaging y DocumentFormat.OpenXml.Packaging.OpenXmlPackage. Actualmente es experimental, pero se puede usar si es necesario. Esto se apuñalará en una versión futura y puede requerir o no cambios en el código.

Suprimir advertencias

Se recomienda usar una solución alternativa disponible siempre que sea posible. Sin embargo, si no puede cambiar el código, puede suprimir las advertencias mediante una #pragma directiva o una <NoWarn> configuración de proyecto. Si debe usar las API obsoletas o experimentales y el OOXMLXXXX diagnóstico no aparece como un error, puede suprimir la advertencia en el código o en el archivo del proyecto.

Para suprimir las advertencias en el código:

// Disable the warning.
#pragma warning disable OOXML0001

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

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

Para suprimir las advertencias en un archivo de proyecto:

<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>

Nota:

La supresión de advertencias de esta manera solo deshabilita las advertencias de obsoleación que especifique. No deshabilita ninguna otra advertencia, incluidas las advertencias de obsolación con identificadores de diagnóstico diferentes.