NETSDK1206: Versionsspezifische oder verteilungsspezifische Runtime-Bezeichner gefunden

NETSDK1206 gibt an, dass Ihr Projekt Ressourcen für versionsspezifische oder verteilungsspezifische Runtime-Bezeichner aufweist. In .NET 8 und höher berücksichtigt die Runtime standardmäßig keine versionsspezifischen oder verteilungsspezifischen Runtime-Bezeichner (Runtime Identifier, RID) mehr und sucht RID-spezifische Ressourcen unter Verwendung einer bekannten Gruppe portierbarer RIDs. Die Warnung listet die RIDs und Pakete auf, die betroffen sind.

Überprüfen Sie zunächst eine neuere Version betroffener Pakete, um festzustellen, ob sie in portierbare RIDs verschoben wurden. Viele Pakete wurden in ihren neuesten Versionen bereits in portierbare RIDs verschoben. Wenn keine solche Version vorhanden ist, empfehlen wir, sich an die Paketersteller zu wenden, um den Wechsel des Pakets anzufordern, um nur portierbare RIDs zu verwenden.

Wenn Sie wissen, dass Ihre Anwendung den angegebenen RID tatsächlich nicht benötigt – sie ist beispielsweise nicht für die Ausführung auf der vom RID angegebenen Plattform vorgesehen –, können Sie die Warnung mithilfe der NoWarn MSBuild-Eigenschaft unterdrücken. Beispiel:

<PropertyGroup>
  <NoWarn>$(NoWarn);NETSDK1206</NoWarn>
</PropertyGroup>

Wenn Ihre Anwendung den angegebenen RID benötigt und das betroffene Paket nicht über eine Version verfügt, die portierbare RIDs verwendet, kann die Runtime so konfiguriert werden, dass die Ressourcenauflösung über das alte RID-Diagramm mit versionsspezifischen und verteilungsspezifischen RIDs ausgeführt wird. Beachten Sie, dass das alte RID-Diagramm nicht mehr aktualisiert wird und nur als Abwärtskompatibilitätsoption zur Verfügung steht.

<ItemGroup>
  <RuntimeHostConfigurationOption Include="System.Runtime.Loader.UseRidGraph" Value="true" />
</ItemGroup>