NuGet 错误 NU1012

方案 1

平台版本不适用于一个或多个目标框架,即使它们已指定平台:net6.0-android。

问题

你已在项目文件中指定具有平台的目标框架,但平台版本不可用。

解决方案

  • 如果要手动指定 TargetPlatformVersion,请务必包含版本。
  • 如果使用的是 .NET SDK,且 TargetFramework 属性包含 net6.0-android,则 .NET SDK 应自动添加平台版本。 如果遇到此问题,请在 dotnet/sdk 上提出问题。

方案 2

某些依赖项组 TFM 缺少平台版本:net6.0-android

问题

为具有 android 等平台的框架创建包时,需指定正确的平台版本。

解决方案

在 nuspec 中指定平台版本。

示例: <group targetFramework="net6.0-android32.0">

如果使用的是打包目标,则会自动推断平台版本。

方案 3

包含在 TFM 下的某些已包含文件缺少平台版本:lib/net6.0-android/Foo.dll、build/net9.0-windows/Foo.props

问题

根据 NuGet 打包约定打包的某些文件存在缺少平台版本的框架部分。

解决方案

在 nuspec 或项目文件的包可扩展性目标中指定平台版本。

示例:lib/net6.0-android32.0/Foo.dllbuild/net9.0-windows10.0.19041/Foo.props