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


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.

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 UseRidGraphtrue-re állításával:

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

Érintett API-k

Egyik sem.