パッケージの検証
パッケージ検証ツールを使用すると、ライブラリ開発者は、パッケージが一貫性のある適切な形式であることを検証できます。 次のチェックが行われます。
- バージョン間で破壊的な変更がないことを検証します。
- ランタイム固有のすべての実装に対して、パッケージに同じパブリック API のセットがあることを検証します。
- 適応性の抜けをキャッチします。
パッケージ検証は、MSBuild タスクとして、または Microsoft.DotNet.ApiCompat.Tool グローバル ツールを使用して実行することができます。 アプリがパックできない場合は、代わりにアセンブリ検証を使用します。
MSBuild タスクを有効にする
.NET プロジェクトでパッケージの検証を有効にするには、EnablePackageValidation
プロパティを true
に設定します。
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>netstandard2.0;net6.0</TargetFrameworks>
<EnablePackageValidation>true</EnablePackageValidation>
</PropertyGroup>
</Project>
EnablePackageValidation
により、Pack
タスクの後に一連のチェックが実行されます。 他の MSBuild プロパティを設定して実行できる追加のチェックがあります。 詳細については、パッケージ検証プロパティに関する記述を参照してください。
検証コントロールの種類
Pack
タスクの一部としてパッケージを検証する検証コントロールには、次の 3 種類があります。
- ベースライン バージョンの検証コントロールでは、以前にリリースされた安定したバージョンのパッケージに対してライブラリ プロジェクトが検証されます。
- 互換性ランタイム検証コントロールでは、ランタイム固有実装アセンブリが互いに交換可能であり、また、コンパイルタイム アセンブリとも互換性があることが検証されます。
- 互換性フレームワーク検証コントロールでは、1 つのフレームワークに対してコンパイルされたコードでマルチターゲット パッケージの他のすべてに対して実行できることが検証されます。
互換性の警告を抑制する
互換性の警告の抑制については、抑制方法に関する記述を参照してください。
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET