Megosztás a következőn keresztül:


A .NET SDK kisebb RID-gráfot használ

A .NET 8 vagy újabb verzióit célzó projektek mostantól egy kisebb, "hordozható" futtatókörnyezet-azonosító (RID) gráfot használnak.

Előző viselkedés

A .NET SDK egy összetett RID-gráfot használt az objektumok meghatározásához egy projekt létrehozásakor vagy közzétételekor.

Új viselkedés

A .NET 8-tól kezdődően a .NET SDK egy kisebb, csak hordozható RID-ket tartalmazó grafikont használ a .NET 8 vagy újabb verziót megcélzó projektekhez. Ez azt jelenti, hogy az SDK alapértelmezés szerint nem ismeri fel a verzióspecifikus vagy a disztribúcióspecifikus RID-ket. A projekt létrehozásakor a következő hiba (vagy hasonló) jelenhet meg:

hiba NETSDK1083: A megadott RuntimeIdentifier "win10-x64" nem ismerhető fel. További információ: https://aka.ms/netsdk1083.

Bevezetett verzió

.NET 8 RC 1

A kompatibilitástörő változás típusa

Ez a változás viselkedésbeli változás, és hatással lehet a forráskompatibilitásra is.

A változás oka

A RID-gráf fenntartása és megértése költséges volt, ezért magának a .NET-nek érzékenynek kellett lennie a disztribúcióra. A .NET csapata és a közösség nem triviális mennyiségű időt tölt a gráf frissítésével és az ilyen frissítések korábbi kiadásokba való visszaküldésével. A hosszú távú cél a RID-diagram frissítése, olvasásának leállítása és végül eltávolítása. Ez a törés változás egy lépés a cél felé.

Használjon hordozható RID-ket, linux-<arch>például, , osx-<arch>linux-musl-<arch>, és win-<arch>, verzióspecifikus vagy disztribúciós azonosítók helyett, például ubuntu.16.04-<arch>, osx.10.11-<arch>és win10-<arch>.

Ha a RID-et a projektfájl RuntimeIdentifier MSBuild tulajdonságával adja meg (*.csproj, *.vbproj vagy *.fsproj), módosítsa ennek megfelelően. Módosítsa például <RuntimeIdentifier>win10-x64</RuntimeIdentifier> a következőre <RuntimeIdentifier>win-x64</RuntimeIdentifier> a projektfájlban:

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

Ha parancssori argumentumként adja meg a RID-et, végezze el a hasonló módosítást. A parancs helyett dotnet publish --framework net8.0 --runtime win10-x64használja például a parancsot dotnet publish --framework net8.0 --runtime win-x64.

Ha vissza kell térnie a régi, teljes RID-gráf előző viselkedéséhez, beállíthatja az UseRidGraph MSBuild tulajdonságot true a projektfájlban. A régi RID-diagram azonban a jövőben nem frissül, hogy más disztribúciókat vagy architektúrákat is megpróbáljon kezelni.

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

Lásd még