Compartilhar via


IDs de Diagnóstico

Os IDs de diagnóstico são utilizados para identificar APIs ou padrões que podem gerar avisos ou erros do compilador. Isto pode ser feito através de DiagnosticId ou ExperimentalAttribute. Estes podem ser suprimidos ao nível do consumidor para cada ID de diagnóstico.

APIs experimentais

OOXML0001

Título: as APIs relacionadas com iPackage são atualmente experimentais

A partir da v3.0, foi adicionada uma nova camada de abstração entre System.IO.Packaging e DocumentFormat.OpenXml.Packaging.OpenXmlPackage. Atualmente, é experimental, mas pode ser utilizado se for necessário. Isto será estabilizado numa versão futura e poderá ou não exigir alterações de código.

Suprimir avisos

Recomenda-se que utilize uma solução disponível sempre que possível. No entanto, se não conseguir alterar o código, pode suprimir avisos através de uma #pragma diretiva ou de uma <NoWarn> definição de projeto. Se tiver de utilizar as APIs obsoletas ou experimentais e o OOXMLXXXX diagnóstico não surgir como um erro, pode suprimir o aviso no código ou no ficheiro de 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 num ficheiro 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 desta forma apenas desativa os avisos de obsoleção que especificar. Não desativa quaisquer outros avisos, incluindo avisos de obsoleção com IDs de diagnóstico diferentes.