A .NET-keretrendszer célzásához használt alapértelmezett RID
A .NET 8-ban módosítás történt, kisebb futtatókörnyezet-azonosító (RID) gráf használata net8.0
és újabb verziók célzásakor.
Ez azonban problémát jelentett azoknak az ügyfeleknek, akik több platformon használják a .NET-et és a .NET Keretrendszert. Ennek az az oka, hogy a visszaállítás egyszer történik, de a .NET-keretrendszer projekt megpróbálja használni a régi RID alapértelmezett értékét, és a .NET (Core) projekt megpróbálja használni az új csökkentett RID-gráfot.
Ennek a többhelyes célzási forgatókönyvnek az engedélyezéséhez a rendszer mostantól egy alapértelmezett RID-et használ, amely kompatibilis az új RID-gráfmal.
Bevezetett verzió
.NET 9 GA
Előző viselkedés
Az SDK-stílusú projektek, amelyek a .NET-keretrendszert célozták meg, és nem volt beállítva RID, alapértelmezetten a win7-x86
vagy win7-x64
értékre álltak.
Új viselkedés
Azok az SDK-stílusú projektek, amelyek a .NET-keretrendszert célozzák meg, és nincs beállítva RID, alapértelmezettként a win-x86
-t vagy a win-x64
-et használják.
A kompatibilitástörő változás típusa
Ez a módosítás hatással lehet a forrás kompatibilitására.
A változás oka
A .NET-keretrendszer alkalmazásai alapértelmezett RID-et kaptak, amely nem kompatibilis a hordozható RID-diagrammal. Ez az inkompatibilitás visszaállítási hibát eredményezett:
Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets(266,5): hiba NETSDK1047: Az "D:\1\s\artifacts\obj\MSBuild\project.assets.json" eszközfájl nem rendelkezik a "net472/win7-x64" célértékkel. Győződjön meg arról, hogy a visszaállítás lefutott, és hogy a projekt TargetFrameworks beállításába belefoglalta-e a "net472"-et. Előfordulhat, hogy a "win7-x64" értéket is fel kell vennie a projekt RuntimeIdentifiers-jába. [MSBuild.csproj::TargetFramework=net472]>
További információért lásd: dotnet/sdk issue #35575.
Javasolt művelet
Ha ez a módosítás érinti, válasszon az alábbi műveletek közül:
Frissítse a futtatókörnyezet azonosítóját a hordozható RID-gráf által támogatott értékre. Példa projektfájlra:
<PropertyGroup> <RuntimeIdentifier>win-x64</RuntimeIdentifier> </PropertyGroup>
Ha parancssori argumentumként adja meg a RID-et, végezze el a hasonló módosítást. Például
dotnet publish --runtime win-x64
.Váltson vissza a régi RID-gráfra a projektfájlban
UseRidGraph
true
-re állításával:<PropertyGroup> <UseRidGraph>true</UseRidGraph> </PropertyGroup>
Érintett API-k
Egyik sem.