Jak funguje dotnetup

Note

dotnetup je ve verzi Public Preview. Jeho funkce a chování se můžou před obecnou dostupností změnit.

dotnetup odděluje to, co požadujete, od souborů, které instaluje. Tento model umožňuje několika závislostem sdílet jednu instalaci .NET a umožňuje odebrat pomocí dotnetup soubory, které už nejsou potřeba.

Instalační kořeny

Kořenový adresář instalace .NET je adresář, který dotnetup sleduje. Kořenový adresář instalace obsahuje:

  • Plně kvalifikovaná cesta k adresáři.
  • Architektura: x86, x64nebo arm64.
  • Nula nebo více specifikací instalace, které jsou zadány jako channels.
  • Nula nebo více konkrétních instancí.

Aktuální CLI se nainstaluje pro architekturu spuštěného dotnetup procesu. Nemá možnost volby architektury.

Výchozím kořenem instalace .NET spravované nástrojem dotnetup je podadresář dotnet datového adresáře dotnetup:

Platform Výchozí kořenový adresář instalace
Windows %LOCALAPPDATA%\dotnetup\dotnet
macOS ~/Library/Application Support/dotnetup/dotnet
Linux $XDG_DATA_HOME/dotnetup/dotnetnebo ~/.local/share/dotnetup/dotnet pokud XDG_DATA_HOME není nastavená

Slouží --install-path k výběru jiného kořenového adresáře instalace. Explicitní instalační cesta má přednost před cestou z global.json, která má přednost před výchozím instalačním kořenovým adresářem.

dotnetupnezapisuje do adresáře .NET spravovaného systémem, například Program Files\dotnet nebo /usr/share/dotnet.

Komponenty

dotnetup spravuje tyto typy komponent:

Component Název specifikace runtime Nainstalovaný obsah
.NET SDK Není relevantní SADA SDK, host, runtime, cílové balíčky a související obsah sady SDK
běhové prostředí .NET runtime Microsoft.NETCore.App runtime
ASP.NET Core Runtime aspnetcore Microsoft.AspNetCore.App runtime
modul runtime pro Windows Desktop windowsdesktop Microsoft.WindowsDesktop.Appmodul runtime v systému Windows

Aliasy aspnet ASP.NET Core a alias desktop Windows Desktop jsou přijímány ve specifikacích komponent modulu runtime.

Specifikace instalace

Specifikace instalace zaznamenává komponentu a kanál nebo přesnou verzi. Například specifikace sady SDK pro 10.0.1xx znamená „udržovat nejnovější sadu SDK v pásmu funkcí 10.0.1xx“.

Další informace o různých typech podporovaných kanálů a verzí najdete v kanálech a verzích.

Každá specifikace má jeden z těchto zdrojů:

  • Explicit: Na příkazovém řádku jste zadali kanál nebo verzi.
  • GlobalJson: dotnetup odvodil/a požadavek sady SDK ze souboru global.json.

All je filtr pro odinstalaci. Neukládá se jako zdroj specifikace.

Přesná verze je pevně určená specifikace. Příkazy aktualizace jej neposunou dál. Specifikace kanálu může během aktualizace odkazovat na novější verzi.

Instalace a sdílené soubory

Instalace zaznamenává jednu konkrétní verzi komponenty a podkomponentní adresáře, které používá. Dvě specifikace mohou odkazovat na stejnou instalaci.

Odinstalační příkazy nejprve odeberou odpovídající specifikace. Garbage collection pak zachová nejnovější nainstalovanou verzi, která odpovídá každému zbývajícímu požadavku. Odebere instalaci a její nesdílené dílčí součásti pouze v případě, že je žádná zbývající specifikace nepotřebuje.

Sledované a nesledované instalace

Ve výchozím nastavení příkaz install zaznamená jeho specifikaci a výsledek v manifestu. Sledované instalace mohou být uvedeny, aktualizovány a odebrány dotnetup.

Možnost --untracked nainstaluje soubory bez jejich zaznamenání. dotnetup tyto soubory nevypisuje, aktualizuje ani neodebere. Tuto možnost použijte pouze v případě, že cílový adresář vlastní jiný proces.

Pokud cíl obsahuje existující .NET instalaci, která není ve vybraném manifestu, dojde k selhání sledované instalace, aby se zabránilo náhodnému kombinování. Vyberte jiný adresář, odeberte existující instalaci nebo použijte --untracked.

Stavové soubory

Datový adresář dotnetup obsahuje tyto soubory stavu na úrovni uživatele:

Soubor Purpose
dotnetup_manifest.json Sleduje kořeny instalace, specifikace instalace, instalace a sdílené dílčí součásti.
dotnetup_manifest.json.sha256 Detekuje změny obsahu manifestu, které dotnetup neprovedl.
dotnetup.config.json Uloží režim přístupu .NET a zda je adresář dotnetup umístěný na PATH.

Tyto soubory neupravujte. Použijte příkazy dotnetup install, update, uninstall a env ke změně souvisejícího stavu.

Proměnná prostředí DOTNET_DOTNETUP_DATA_DIR mění adresář dat. Možnost --manifest-path změní pouze manifest používaný jedním příkazem. Nezmění konfigurační soubor ani výchozí kořenový adresář instalace.

Souběžné operace

Pracovní postupy instalace, aktualizace, odinstalace, výpisu a uvolňování paměti koordinují přístup ke sdílenému stavu instalace. Příkaz, který přijímá několik specifikací, je před instalací vyřeší a může je stáhnout souběžně. Změny manifestu zůstávají serializovány.

Viz také