Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Note
dotnetup is beschikbaar als openbare preview. De functies en het gedrag kunnen veranderen vóór algemene beschikbaarheid.
Dotnetup kan de omgeving configureren om de .NET SDK's en runtimes die het installeert beschikbaar te maken. Dit doet u door de volgende omgevingsvariabelen in te stellen:
-
PATH: maakt dedotnetopdracht beschikbaar op de opdrachtregel. Ontwikkelhulpprogramma's zoals Visual Studio of C# Dev Kit gebruiken ook dePATHom .NET SDK's en runtimes te vinden. -
DOTNET_ROOT: Geeft uitvoerbare bestanden van frameworkafhankelijke toepassingen aan waar een .NET-installatie en de gedeelde runtimes te vinden zijn.
Dotnetup ondersteunt verschillende toegangsmodi die bepalen waar deze omgevingsvariabelen worden ingesteld. U kunt een toegangsmodus kiezen in de eerste dotnetup-installatie of later met de dotnetup env opdracht.
| Toegangsmodus | Gedrag |
|---|---|
none |
Wijzigt deze omgevingsvariabelen niet. Voer .NET uit met dotnetup dotnet. |
shell |
Hiermee wijzigt u het shell-profiel om deze omgevingsvariabelen in te stellen. Processen die vanuit die shell zijn gestart, gebruiken de .NET SDK's en runtimes die zijn geïnstalleerd door dotnetup. |
everywhere |
Wijzigt het systeem PATH en stelt de omgevingsvariabele op gebruikersniveau DOTNET_ROOT in. Alleen beschikbaar op Windows. |
Dotnetup voegt zichzelf standaard ook toe aan de PATH, ongeacht de instelling voor de toegangsmodus. Dit kan worden beheerd met dotnetup env set --dotnetup-on-path <true|false>.
Overwegingen voor Everywhere-modus
Overal is de standaardmodus op Windows, zodat SDK's en runtimes die door dotnetup zijn geïnstalleerd, beschikbaar zijn via ontwikkelhulpprogramma's en vanuit terminals die cmd als de shell gebruiken. Er zijn echter enkele dingen waar u rekening mee moet houden, met name over hoe dit samenwerkt met machinebrede installaties van de .NET SDK en Runtime.
Machinebrede installaties van .NET bevinden zich onder de map Program Files. Ze kunnen worden geïnstalleerd met installatieprogramma's die kunnen worden gedownload vanaf de pagina .NET downloads. Visual Studio installeert machinebrede installaties van de .NET SDK en Runtime, en installatieprogramma's voor frameworkafhankelijke toepassingen kunnen ook de .NET Runtime installeren waarvan ze afhankelijk zijn op de computerbrede locatie.
In de modus overal heeft de door de gebruiker lokaal geïnstalleerde, door dotnetup beheerde .NET-installatiehoofdmap voorrang op de systeemwijde .NET-installatiehoofdmap. Dit betekent dat .NET SDK's en runtimes die zijn geïnstalleerd in Program Files niet beschikbaar zijn. Projecten die afhankelijk zijn van deze SDK's, kunnen niet worden gecompileerd als er geen overeenkomende SDK is geïnstalleerd. Als een overeenkomende runtime niet is geïnstalleerd, kunnen frameworkafhankelijke toepassingen niet worden gestart met de foutmelding 'U moet .NET installeren of bijwerken om deze toepassing uit te voeren'.
Om deze fouten te voorkomen, biedt de eerste dotnetup-installatie de mogelijkheid om bestaande systeem-.NET SDK- en Runtime-installaties te migreren. U kunt ze ook expliciet migreren door dotnetup runtime install --migrate-from-system voor SDK's of dotnetup sdk install --migrate-from-system voor runtimes uit te voeren.
Voor het in- of uitschakelen van de modus overal moet u het system PATH wijzigen. Hiervoor zijn verhoogde rechten vereist (dat wil bijvoorbeeld zeggen dat goedkeuring van een UAC-prompt of 'Als administrator uitvoeren' nodig is). Dit komt doordat de installatieprogramma's voor de hele machine voor .NET de .NET-installatiemap in Program Files aan de system PATH toevoegen en de system PATH voorrang heeft op de user PATH bij het herkennen van opdrachten. Dotnetup moet dus het systeemPAD wijzigen om de dotnetup-.NET installatiehoofdmap voorrang te geven.
Omdat het systeem-PATH van toepassing is op alle gebruikers, kunnen deze wijzigingen van invloed zijn op andere gebruikers. Het pad dat wordt toegevoegd aan de systeem-PATH bevindt zich standaard in de lokale AppData-map van de gebruiker. Dit is normaal gesproken niet toegankelijk voor andere gebruikers, dus dit heeft geen invloed op welke versie van dotnet wordt bepaald. Verhoogde processen (d.w.w.v. uitvoeren als administrator) kunnen het pad echter lezen en kunnen onverwacht .NET SDK's of runtimes van een andere gebruiker vinden.
Ondersteunde shells
Ondersteuning voor het genereren van profielen en scripts:
- Bash
- Z shell
- Vis
- Pwsh (PowerShell Core)
- PowerShell
Als u --shell niet doorgeeft, detecteert dotnetup de huidige shell. Gebruik een expliciete shell wanneer detectie niet beschikbaar is of wanneer u een ander profiel wilt bijwerken:
dotnetup env set shell --shell zsh
Opgeslagen en waargenomen status
dotnetup.config.json slaat de geselecteerde toegangsmodus op en of dotnetup op PATH moet staan.
dotnetup env show vergelijkt die configuratie met het huidige profiel en de huidige omgeving. Het rapporteert drift als de waargenomen toestand niet overeenkomt.
De opgeslagen configuratie opnieuw toepassen om drift te corrigeren:
dotnetup env set
Huidige terminal
Wijzigingen in de profiel- en Windows-omgeving herschrijven de omgeving van het huidige proces niet. Open een nieuwe terminal, source het gewijzigde profiel of evalueer het gegenereerde script.
Voor Bash- of Z-shell:
eval "$(dotnetup env script)"
Voor PowerShell:
dotnetup env script --shell pwsh | Invoke-Expression
env script volgt de opgeslagen configuratie wanneer u geen selectieopties doorgeeft. Gebruik --dotnet, --dotnetupof beide om de gegenereerde inhoud te selecteren.
Omgevingsconfiguratie verwijderen
Verwijder alle verbindingen van de beheerde omgeving:
dotnetup env clear
Deze opdracht is gelijk aan:
dotnetup env set none --dotnetup-on-path false
Het verwijdert SDK's of runtimes niet.