Diagnose-IDs

Diagnose-IDs werden verwendet, um APIs oder Muster zu identifizieren, die Compilerwarnungen oder -fehler auslösen können. Dies kann über ObsoleteAttribute oder ExperimentalAttribute erfolgen. Diese können auf Consumerebene für jede Diagnose-ID unterdrückt werden.

Experimentelle APIs

OOXML0001

Titel: IPackage-bezogene APIs sind derzeit experimentell.

Ab v3.0 wurde zwischen System.IO.Packaging und DocumentFormat.OpenXml.Packaging.OpenXmlPackageeine neue Abstraktionsebene hinzugefügt. Dies ist derzeit experimentell, kann aber bei Bedarf verwendet werden. Dies wird in einem zukünftigen Release stabilisiert und erfordert möglicherweise keine Codeänderungen.

Unterdrücken von Warnungen

Es wird empfohlen, nach Möglichkeit eine verfügbare Problemumgehung zu verwenden. Wenn Sie Ihren Code jedoch nicht ändern können, können Sie Warnungen über eine #pragma Direktive oder eine <NoWarn> Projekteinstellung unterdrücken. Wenn Sie die veralteten oder experimentellen APIs verwenden müssen und die OOXMLXXXX Diagnose nicht als Fehler angezeigt wird, können Sie die Warnung im Code oder in Ihrer Projektdatei unterdrücken.

So unterdrücken Sie die Warnungen im Code:

// Disable the warning.
#pragma warning disable OOXML0001

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

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

So unterdrücken Sie die Warnungen in einer Projektdatei:

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

Hinweis

Wenn Sie Warnungen auf diese Weise unterdrücken, werden nur die von Ihnen angegebenen Veraltungswarnungen deaktiviert. Es werden keine anderen Warnungen deaktiviert, einschließlich Obsoletionswarnungen mit unterschiedlichen Diagnose-IDs.