包验证
借助包验证工具,库开发人员可以验证包是否一致且格式是否标准。 它提供以下检查:
- 验证各个版本之间是否存在中断性变更。
- 针对所有不同的运行时特定的实现,验证包是否具有一组相同的公共 API。
- 捕获任何适用性缺口。
可以将包验证作为 MSBuild 任务运行,也可以使用 Microsoft.DotNet.ApiCompat.Tool 全局工具运行包验证。 如果应用无法打包,请改用程序集验证。
启用 MSBuild 任务
通过将 EnablePackageValidation
属性 设置为 true
,可以在 .NET 项目中启用包验证。
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>netstandard2.0;net6.0</TargetFrameworks>
<EnablePackageValidation>true</EnablePackageValidation>
</PropertyGroup>
</Project>
EnablePackageValidation
在 Pack
任务之后运行一系列检查。 有一些额外的检查可通过设置其他 MSBuild 属性来运行。 有关详细信息,请参阅包验证属性。
验证程序类型
作为 Pack
任务的一部分,可以通过三种不同的验证程序来验证包:
- 基线版本验证程序根据之前发布的稳定版包来验证库项目。
- 兼容的运行时验证程序验证特定于运行时的实现程序集彼此是否兼容以及是否与编译时程序集兼容。
- 兼容的框架验证程序验证针对一个框架编译的代码是否可以针对多目标包中的所有其他框架运行。
抑制兼容性警告
有关抑制兼容性警告的信息,请参阅如何抑制。