Funcionamiento de dotnetup

Note

dotnetup está en versión preliminar pública. Sus características y comportamiento pueden cambiar antes de la disponibilidad general.

dotnetup separa lo que solicitas de los archivos que instala. Este modelo permite que varios requisitos compartan una instalación de .NET y permite dotnetup quitar archivos que ya no son necesarios.

Raíces de instalación

Una raíz de instalación de .NET es un directorio del que dotnetup hace un seguimiento. Una raíz de instalación tiene:

  • Ruta de acceso completa a un directorio.
  • Una arquitectura: x86, x64o arm64.
  • Cero o más especificaciones de instalación, especificadas como channels.
  • Ninguna, una o varias instalaciones concretas.

Las instalaciones actuales de la CLI son para la arquitectura del proceso en ejecución dotnetup. No tiene una opción de arquitectura.

La raíz de instalación de .NET administrada por dotnetup predeterminada es el dotnet subdirectorio del directorio de datos dotnetup:

Platform Raíz de instalación predeterminada
Windows %LOCALAPPDATA%\dotnetup\dotnet
macOS ~/Library/Application Support/dotnetup/dotnet
Linux $XDG_DATA_HOME/dotnetup/dotnet, o ~/.local/share/dotnetup/dotnet cuando XDG_DATA_HOME no se establece

Utilice --install-path para seleccionar otra raíz de instalación. Una ruta de instalación explícita tiene prioridad sobre una ruta de acceso de global.json, que tiene prioridad sobre la raíz de instalación predeterminada.

dotnetupno escribe en un directorio de .NET administrado por el sistema, como Program Files\dotnet o /usr/share/dotnet.

Components

dotnetup administra estos tipos de componentes:

Componente Nombre de la especificación en tiempo de ejecución Contenido instalado
SDK de .NET No es aplicable SDK, host, runtime, paquetes de destino y contenido relacionado del SDK
Entorno de ejecución de .NET runtime Microsoft.NETCore.App runtime
ASP.NET Core runtime aspnetcore Microsoft.AspNetCore.App runtime
entorno de ejecución de Windows Desktop windowsdesktop Microsoft.WindowsDesktop.App entorno de ejecución en Windows

Los alias aspnet ASP.NET Core y el alias desktop de Windows Desktop se aceptan en las especificaciones del componente en tiempo de ejecución.

Especificaciones de instalación

Una especificación de instalación registra un componente y un canal o una versión exacta. Por ejemplo, una especificación del SDK para 10.0.1xx significa "mantener el SDK más reciente en la banda de características 10.0.1xx".

Puede obtener más información sobre los diferentes tipos de canales y versiones admitidos en Canales y versiones.

Cada especificación tiene uno de estos orígenes:

  • Explicit: Usted ha proporcionado el canal o la versión en la línea de comandos.
  • GlobalJson: dotnetup derivó el requisito del SDK de un archivo global.json.

All es un filtro de desinstalación. No se almacena como origen de especificación.

Una versión exacta es una especificación fijada. Los comandos de actualización no lo avanzan. Una especificación de canal puede resolverse como una versión más reciente durante una actualización.

Instalaciones y archivos compartidos

Una instalación registra una versión de componente concreta y los directorios de subcomponentes que usa. Dos especificaciones pueden corresponder a la misma instalación.

Los comandos de desinstalación quitan primero las especificaciones correspondientes. A continuación, la recolección de basura mantiene la versión instalada más reciente que coincida con cada especificación restante. Quita una instalación y sus subcomponentes no compartidos solo cuando ninguna especificación restante los necesita.

Instalaciones con seguimiento y sin seguimiento

De forma predeterminada, un comando de instalación registra su especificación y su resultado en el manifiesto. Una instalación con seguimiento se puede enumerar, actualizar y quitar mediante dotnetup.

La --untracked opción instala archivos sin registrarlos. dotnetup no enumera, actualiza ni quita esos archivos. Use esta opción solo cuando otro proceso posee el directorio de destino.

Para evitar la combinación accidental, se produce un error en una instalación con seguimiento si el destino contiene una instalación de .NET existente que no está en el manifiesto seleccionado. Seleccione otro directorio, quite la instalación existente o use --untracked.

Archivos de estado

El directorio de datos dotnetup contiene estos archivos de estado de nivel de usuario:

Archivo Purpose
dotnetup_manifest.json Realiza un seguimiento de los directorios de instalación, las especificaciones de instalación, las instalaciones y los subcomponentes compartidos.
dotnetup_manifest.json.sha256 Detecta cambios en el contenido del manifiesto que dotnetup no ha escrito.
dotnetup.config.json Almacena el modo de acceso .NET y si el dotnetup directorio está en PATH.

No edite estos archivos. Utilice los comandos dotnetup install, update, uninstall y env para cambiar el estado relacionado.

La DOTNET_DOTNETUP_DATA_DIR variable de entorno cambia el directorio de datos. La opción --manifest-path solo cambia el manifiesto usado por un solo comando. No cambia el archivo de configuración ni la raíz de instalación predeterminada.

Operaciones simultáneas

Los flujos de trabajo de instalación, actualización, desinstalación, listado y recolección de elementos no utilizados coordinan el acceso al estado de instalación compartido. Un comando que acepta varias especificaciones resuelve varias especificaciones antes de la instalación y puede descargarlas simultáneamente. Los cambios de manifiesto permanecen serializados.

Consulte también