診断 ID
診断 ID は、コンパイラの警告やエラーを発生させる可能性のある API またはパターンを識別するために使用されます。 これは、 DiagnosticId または ExperimentalAttributeを使用して行うことができます。 これらは、各診断 ID のコンシューマー レベルで抑制できます。
試験的 API
OOXML0001
タイトル: IPackage 関連 API は現在試験段階です
v3.0 の時点で、 System.IO.Packaging
と DocumentFormat.OpenXml.Packaging.OpenXmlPackage
の間に新しい抽象化レイヤーが追加されました。 これは現在実験的ですが、必要に応じて使用できます。 これは将来のリリースで安定し、コードの変更が必要な場合と必要ない場合があります。
警告を抑制する
可能な限り、使用可能な回避策を使用することをお勧めします。 ただし、コードを変更できない場合は、 #pragma
ディレクティブまたは <NoWarn>
プロジェクト設定を使用して警告を抑制できます。 古い API または試験的な API を使用する必要があり、 OOXMLXXXX
診断がエラーとして表示されない場合は、コードまたはプロジェクト ファイルで警告を抑制できます。
コード内の警告を抑制するには:
// Disable the warning.
#pragma warning disable OOXML0001
// Code that uses obsolete or experimental API.
//...
// Re-enable the warning.
#pragma warning restore OOXML0001
プロジェクト ファイル内の警告を抑制するには:
<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>
注:
この方法で警告を抑制すると、指定した obsoletion 警告のみが無効になります。 別の診断 ID を使用した obsoletion 警告など、他の警告は無効になりません。