IDs de diagnóstico

As IDs de diagnóstico são usadas para identificar APIs ou padrões que podem gerar avisos ou erros do compilador. Isso pode ser feito por meio de DiagnosticId ou ExperimentalAttribute. Eles podem ser suprimidos no nível do consumidor para cada ID de diagnóstico.

APIs experimentais

OOXML0001

Título: As APIs relacionadas a IPackage são atualmente experimentais

A partir da v3.0, uma nova camada de abstração foi adicionada no meio System.IO.Packaging e DocumentFormat.OpenXml.Packaging.OpenXmlPackage. No momento, isso é experimental, mas pode ser usado se necessário. Isso será estabilizado em uma versão futura e pode ou não exigir alterações de código.

Suprimir avisos

É recomendável usar uma solução alternativa disponível sempre que possível. No entanto, se não for possível alterar o código, você poderá suprimir os avisos por meio de uma #pragma diretiva ou de uma <NoWarn> configuração de projeto. Se você precisar usar as APIs obsoletas ou experimentais e o diagnóstico não aparecer como um erro, você poderá suprimir o aviso no código ou no arquivo do OOXMLXXXX seu projeto.

Para suprimir os avisos no 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 os avisos em um arquivo de projeto:

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

Observação

Suprimir avisos dessa maneira desabilita apenas os avisos de obsoleto especificados. Ele não desabilita nenhum outro aviso, incluindo avisos de obsoleto com diferentes IDs de diagnóstico.