Compartilhar via


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 ObsoleteAttribute ou ExperimentalAttribute. Elas podem ser suprimidas no nível do consumidor para cada ID de diagnóstico.

APIs experimentais

OOXML0001

Título: APIs relacionadas ao IPackage são experimentais no momento

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

Suprimir avisos

É recomendável que você use uma solução alternativa disponível sempre que possível. No entanto, se você não puder alterar o código, poderá suprimir avisos por meio de uma #pragma diretiva ou de uma configuração de <NoWarn> projeto. Se você precisar usar as APIs obsoletas ou experimentais e o OOXMLXXXX diagnóstico não aparecer como um erro, poderá suprimir o aviso no código ou no arquivo do 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 forma só desabilita os avisos de obsoletão especificados. Ele não desabilita outros avisos, incluindo avisos de obsoleto com diferentes IDs de diagnóstico.