NuGet エラー NU1012
シナリオ 1
プラットフォームとして net6.0-android が指定されたにもかかわらず、プラットフォーム バージョンが、1 つまたは複数のターゲット フレームワークに対して存在しません。
問題点
プロジェクト ファイルにプラットフォームを含むターゲット フレームワークを指定しましたが、プラットフォーム バージョンが使用できません。
解決策
- 手動で
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.dll
、build/net9.0-windows10.0.19041/Foo.props