NuGet エラー NU1012

シナリオ 1

プラットフォームとして net6.0-android が指定されたにもかかわらず、プラットフォーム バージョンが、1 つまたは複数のターゲット フレームワークに対して存在しません。

問題点

プロジェクト ファイルにプラットフォームを含むターゲット フレームワークを指定しましたが、プラットフォーム バージョンが使用できません。

解決策

  • 手動で TargetPlatformVersion を指定している場合は、バージョンが含まれていることを確認してください。
  • .NET SDK を使用していて、TargetFramework プロパティに net6.0-android が含まれている場合、.NET SDK はプラットフォーム バージョンを自動的に追加するはずです。 この問題が発生している場合は、dotnet/sdk に問題点を申告してください。

シナリオ 2

Some dependency group TFMs are missing a platform version: 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