NETSDK1206: Hittade versionsspecifika eller distributionsspecifika köridentifierare

NETSDK1206 anger att projektet har tillgångar för versionsspecifika eller distributionsspecifika körningsidentifierare. I .NET 8 och senare tar körningen inte längre hänsyn till versionsspecifika eller distributionsspecifika RID:er som standard och hittar RID-specifika tillgångar med hjälp av en känd uppsättning portabla RID:er. Varningen visar de RID:er och paket som påverkas.

Kontrollera först om det finns en nyare version av de berörda paketen för att se om de har flyttats till bärbara RID:er. Många paket har redan flyttats till bärbara RID:er i de senaste versionerna. Om det inte finns någon sådan version rekommenderar vi att du kontaktar paketförfattarna för att begära att paketet byter till att endast använda bärbara RID:er.

Om du vet att programmet faktiskt inte behöver den angivna RID:en, till exempel att den inte är avsedd att köras på den plattform som anges av RID, kan du växla till att använda ett mer allmänt RID. Ändra till exempel <RuntimeIdentifier>win10-x64</RuntimeIdentifier> till <RuntimeIdentifier>win-x64</RuntimeIdentifier> i projektfilen:

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

Om du anger RID som ett kommandoradsargument gör du en liknande ändring. I stället för dotnet publish --framework net8.0 --runtime win10-x64använder du till exempel kommandot dotnet publish --framework net8.0 --runtime win-x64.

Om du behöver återgå till det tidigare beteendet att använda den gamla fullständiga RID-grafen UseRidGraph kan du ange egenskapen MSBuild till true i projektfilen. Den gamla RID-grafen uppdateras dock inte i framtiden för att försöka hantera andra distributioner eller arkitekturer.

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