Partager via


ID de diagnostic

Les ID de diagnostic sont utilisés pour identifier les API ou les modèles qui peuvent déclencher des avertissements ou des erreurs du compilateur. Cette opération peut être effectuée via ObsoleteAttribute ou ExperimentalAttribute. Ceux-ci peuvent être supprimés au niveau du consommateur pour chaque ID de diagnostic.

API expérimentales

OOXML0001

Titre : Les API associées à IPackage sont actuellement expérimentales

À partir de la version 3.0, une nouvelle couche d’abstraction a été ajoutée entre System.IO.Packaging et DocumentFormat.OpenXml.Packaging.OpenXmlPackage. Il est actuellement expérimental, mais peut être utilisé si nécessaire. Cela sera stabalisé dans une version ultérieure et peut nécessiter ou non des modifications du code.

Supprimer les avertissements

Il est recommandé d’utiliser une solution de contournement disponible dans la mesure du possible. Toutefois, si vous ne pouvez pas modifier votre code, vous pouvez supprimer les avertissements via une #pragma directive ou un <NoWarn> paramètre de projet. Si vous devez utiliser les API obsolètes ou expérimentales et que le OOXMLXXXX diagnostic n’apparaît pas comme une erreur, vous pouvez supprimer l’avertissement dans le code ou dans votre fichier projet.

Pour supprimer les avertissements dans le code :

// Disable the warning.
#pragma warning disable OOXML0001

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

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

Pour supprimer les avertissements dans un fichier projet :

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

Remarque

La suppression des avertissements de cette façon désactive uniquement les avertissements d’obsoletion que vous spécifiez. Il ne désactive aucun autre avertissement, y compris les avertissements d’obsoletion avec des ID de diagnostic différents.