Sada .NET SDK používá menší graf identifikátorů RID.
Projekty, které cílí na .NET 8 nebo novější verze, teď používají menší graf "přenosného" identifikátoru runtime (RID).
Předchozí chování
Sada .NET SDK použila složitý graf identifikátorů RID k určení prostředků při sestavování nebo publikování projektu.
Nové chování
Počínaje rozhraním .NET 8 používá sada .NET SDK menší graf skládající se pouze z přenosných identifikátorů RID pro projekty, které cílí na .NET 8 nebo novější verzi. To znamená, že sada SDK ve výchozím nastavení nerozpozná identifikátory RID specifické pro konkrétní verze ani distribuce. Při sestavování projektu se může zobrazit následující chyba (nebo podobná):
chyba NETSDK1083: Zadaný runtimeIdentifier win10-x64 není rozpoznán. Další informace naleznete v tématu https://aka.ms/netsdk1083.
Zavedená verze
.NET 8 RC 1
Typ zásadní změny
Tato změna je změna chování a může také ovlivnit kompatibilitu zdroje.
Důvod změny
Graf identifikátorů RID byl nákladný na údržbu a pochopení, což vyžadovalo, aby rozhraní .NET samo o sobě rozdávala křehkým způsobem. Tým .NET a komunita tráví ne triviální dobu aktualizací grafu a backportováním těchto aktualizací do předchozích verzí. Dlouhodobým cílem je zastavit aktualizaci grafu RID, přestat ho číst a nakonec ho odebrat. Tato zásadní změna je krokem k tomuto cíli.
Doporučená akce
Používejte přenosné identifikátory RID, linux-<arch>
například , linux-musl-<arch>
, osx-<arch>
win-<arch>
a , místo identifikátorů RID specifických pro konkrétní verze nebo distribuce, například ubuntu.16.04-<arch>
, osx.10.11-<arch>
a win10-<arch>
.
Pokud identifikátor RID zadáte pomocí vlastnosti RuntimeIdentifier MSBuild v souboru projektu (*.csproj, *.vbproj nebo *.fsproj), odpovídajícím způsobem ho změňte. Změňte například <RuntimeIdentifier>win10-x64</RuntimeIdentifier>
v <RuntimeIdentifier>win-x64</RuntimeIdentifier>
souboru projektu:
<PropertyGroup>
...
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
</PropertyGroup>
Pokud jako argument příkazového řádku zadáte identifikátor RID, proveďte podobnou změnu. Například místo dotnet publish --framework net8.0 --runtime win10-x64
příkazu použijte příkaz dotnet publish --framework net8.0 --runtime win-x64
.
Pokud se potřebujete vrátit k předchozímu chování při použití starého, úplného grafu RID, můžete vlastnost MSBuild nastavit UseRidGraph
v true
souboru projektu. Starý graf identifikátorů RID se ale v budoucnu neaktualizuje, aby se pokusil zpracovat žádné jiné distribuce nebo architektury.
<PropertyGroup>
<UseRidGraph>true</UseRidGraph>
</PropertyGroup>