次の方法で共有


NETSDK1206: バージョン固有またはディストリビューション固有のランタイム識別子が見つかりました

NETSDK1206は、プロジェクトにバージョン固有またはディストリビューション固有の ランタイム識別子のアセットがあることを示します。 .NET 8 以降では、ランタイムは既定でバージョン固有またはディストリビューション固有の RID を考慮しなくなり、 既知の移植可能な RID のセットを使用して RID 固有の資産が見つかります。 警告には、影響を受ける RID とパッケージが一覧表示されます。

まず、影響を受けるパッケージの新しいバージョンを調べて、ポータブル RID に移行したかどうかを確認します。 多くのパッケージは、最新バージョンのポータブル RID に既に移行されています。 そのようなバージョンが存在しない場合は、パッケージ作成者に連絡して、ポータブル RID のみを使用するようにパッケージの切り替えを要求することをお勧めします。

アプリケーションで指定された RID が実際に必要ないことがわかっている場合 (たとえば、RID で指定されたプラットフォームで実行するためのものではありません)、より一般的な RID の使用に切り替えることができます。 たとえば、 <RuntimeIdentifier>win10-x64</RuntimeIdentifier> をプロジェクト ファイル内の <RuntimeIdentifier>win-x64</RuntimeIdentifier> に変更します。

<PropertyGroup>
  ...
  <RuntimeIdentifier>win-x64</RuntimeIdentifier>
</PropertyGroup>

RID をコマンド ライン引数として指定する場合は、同様の変更を行います。 たとえば、 dotnet publish --framework net8.0 --runtime win10-x64ではなく、コマンド dotnet publish --framework net8.0 --runtime win-x64を使用します。

以前の完全な RID グラフを使用する前の動作に戻す必要がある場合は、 UseRidGraph MSBuild プロパティをプロジェクト ファイルに true するように設定できます。 ただし、古い RID グラフは、他のディストリビューションやアーキテクチャを処理するために今後更新されることはありません。

<PropertyGroup>
  <UseRidGraph>true</UseRidGraph>
</PropertyGroup>