Sdílet prostřednictvím


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.

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-x64pří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>

Viz také