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é.
Javasolt művelet
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-x64
haszná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>