NETSDK1206: sono stati trovati uno o più identificatori di runtime specifici della versione o specifici della distribuzione

NETSDK1206 indica che il progetto dispone di asset per identificatori di runtime specifici della versione o specifici della distribuzione. In .NET 8 e versioni successive, il runtime non considera più i RID specifici della versione o della distribuzione per impostazione predefinita e troverà asset specifici del RID usando un set noto di RID portabili. L'avviso elenca i RID e i pacchetti interessati.

Prima di tutto, verificare la presenza di una versione più recente di tutti i pacchetti interessati per verificare se sono stati spostati in RID portabili. Molti pacchetti sono già stati spostati in RID portabili nelle versioni più recenti. Se non esiste alcuna versione di questo tipo, è consigliabile contattare gli autori del pacchetto per richiedere di cambiare il pacchetto in modo da usare solo RID portabili.

Se si sa che l'applicazione non necessita effettivamente del RID specificato, ad esempio non è destinato all'esecuzione nella piattaforma specificata dal RID, è possibile eliminare l'avviso usando la NoWarn proprietà MSBuild. Ad esempio:

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

Se l'applicazione richiede il RID specificato e il pacchetto interessato non ha una versione che usa RID portabili, il runtime può essere configurato per eseguire la risoluzione degli asset tramite il grafico RID precedente con RID specifici della versione e RID specifici della distribuzione. Si noti che il grafico RID precedente non è più aggiornato ed esiste solo come opzione di compatibilità con le versioni precedenti.

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