程序包管理格式有两种方式:一是通过Packages.config文件,另外就是通过*.csproj文件中PackageReference段引用;可以通过工具->选项->NuGet来查看,
我出错的原因是,包管理默认是PackageReference,程序运行会检查StarChargeProdTool.csproj文件中<ItemGroup>字段引用的库是否都有
发现<ItemGroup>缺少对Microsoft.Windows.SDK.Contracts.10.0.26100.1,它是在开始的位置import项目对比packages.config发现是有对Microsoft.Windows.SDK.Contracts的説明
最后对比发现,NuGet包管理使用PackageReference这个管理程序包,检查的时候在StarChargeProdTool.csproj文件中找不到Microsoft.Windows.SDK.Contracts库导致报错:must use packagereference
更改NuGet包管理使用这个Packages.config管理程序包,因为Packages.config文件中有Microsoft.Windows.SDK.Contracts,所以运行不会报错