Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Uwaga
dotnetup jest dostępna w publicznej wersji zapoznawczej. Jego funkcje i zachowanie mogą ulec zmianie przed ogólną dostępnością.
Aplikacja Dotnetup może skonfigurować środowisko, aby udostępnić zestawy SDK i środowiska uruchomieniowe .NET, które instaluje. W tym celu należy ustawić następujące zmienne środowiskowe:
-
PATH: udostępniadotnetpolecenie w wierszu polecenia. Narzędzia deweloperskie, takie jak Visual Studio lub C# Dev Kit, również używająPATHdo lokalizowania zestawów SDK i środowisk uruchomieniowych .NET. -
DOTNET_ROOT: informuje pliki wykonywalne aplikacji zależnych od platformy o tym, gdzie można znaleźć instalację .NET i jego współużytkowanych środowisk uruchomieniowych.
Aplikacja Dotnetup obsługuje różne tryby ustawiania, które kontrolują, gdzie te zmienne środowiskowe są ustawiane. Możesz wybrać tryb dostępu podczas początkowej konfiguracji dotnetup lub później za pomocą polecenia dotnetup env.
| Tryb dostępu | Behavior |
|---|---|
none |
Nie modyfikuje tych zmiennych środowiskowych. Uruchom .NET za pomocą polecenia dotnetup dotnet. |
shell |
Modyfikuje profil powłoki, aby ustawić te zmienne środowiskowe. Procesy uruchomione z tej powłoki używają zestawów SDK .NET i środowisk uruchomieniowych zainstalowanych przez dotnetup. |
everywhere |
Modyfikuje system PATH i ustawia zmienną środowiskową DOTNET_ROOT poziomu użytkownika. Dostępne tylko w Windows. |
Domyślnie dotnetup dodaje się również do PATH, niezależnie od ustawienia trybu dostępu. Można to kontrolować za pomocą polecenia dotnetup env set --dotnetup-on-path <true|false>.
Zagadnienia dotyczące trybu Everywhere
Tryb Everywhere jest domyślny w systemie Windows, dzięki czemu zestawy SDK i środowiska uruchomieniowe zainstalowane przez dotnetup będą dostępne z poziomu narzędzi deweloperskich i z terminali używających cmd jako powłoki. Istnieją jednak pewne kwestie, o których należy pamiętać, przede wszystkim o tym, jak współdziała ona z instalacjami obejmującymi cały system zestawu .NET SDK i środowiska uruchomieniowego.
Instalacje systemowe platformy .NET znajdują się w folderze Program Files. Można je zainstalować za pomocą instalatorów, które można pobrać ze strony pobierania .NET. Visual Studio instaluje instalacje dla całego komputera zestawu .NET SDK i środowiska uruchomieniowego, a instalatory dla aplikacji zależnych od struktury mogą również instalować środowisko uruchomieniowe .NET, od którego zależą, w lokalizacji dla całego komputera.
W trybie globalnym katalog główny lokalnej dla użytkownika instalacji .NET zarządzanej przez dotnetup zastąpi katalog główny instalacji .NET dla całej maszyny. Oznacza to, że zestawy SDK i środowiska uruchomieniowe .NET zainstalowane w folderze Program Files nie będą dostępne. Projekty zależne od tych zestawów SDK nie skompilują się, jeśli pasujący zestaw SDK nie jest zainstalowany. Jeśli zgodne środowisko uruchomieniowe nie jest zainstalowane, uruchamianie aplikacji zależnych od struktury zakończy się niepowodzeniem z komunikatem „Musisz zainstalować lub zaktualizować platformę .NET, aby uruchomić tę aplikację”.
Aby uniknąć tych błędów, początkowa konfiguracja dotnetup oferuje opcję migracji istniejących instalacji systemowych zestawu .NET SDK i środowiska uruchomieniowego. Można je również jawnie migrować, uruchamiając dotnetup sdk install --migrate-from-system w przypadku zestawów SDK lub dotnetup runtime install --migrate-from-system w przypadku środowisk uruchomieniowych.
Włączenie lub wyłączenie trybu globalnego wymaga zmodyfikowania systemowej zmiennej PATH, co z kolei wymaga uprawnień administratora (tj. zaakceptowania monitu UAC lub wybrania opcji „Uruchom jako administrator”). Dzieje się tak, ponieważ instalatory dla całej maszyny dla .NET dodają katalog główny instalacji programu .NET do ścieżki systemowej, a ścieżka systemowa ma pierwszeństwo przed ścieżką na poziomie użytkownika podczas rozpoznawania poleceń. Dlatego dotnetup musi zmodyfikować systemową zmienną PATH, aby katalog główny instalacji .NET programu dotnetup miał pierwszeństwo.
Ponieważ zmienna systemowa PATH ma zastosowanie do wszystkich użytkowników, te zmiany mogą mieć wpływ na innych użytkowników. Ścieżka dodawana do systemowej zmiennej PATH jest domyślnie w lokalnym folderze AppData użytkownika. Zwykle nie będzie to dostępne dla innych użytkowników, więc nie wpłynie to na to, która wersja dotnet zostanie ustalona. Jednak procesy z podwyższonym poziomem uprawnień (tj. uruchomione jako administrator) będą mogły odczytać ścieżkę i mogą nieoczekiwanie odnaleźć zestawy SDK .NET lub środowiska uruchomieniowe .NET innego użytkownika.
Obsługiwane powłoki
Obsługa generowania profilów i skryptów:
- Bash
- powłoka Z
- Ryba
- Pwsh (PowerShell Core)
- PowerShell
Jeśli nie podasz --shell, dotnetup wykryje bieżącą powłokę. Użyj jawnej powłoki, gdy wykrywanie jest niedostępne lub gdy chcesz zaktualizować inny profil:
dotnetup env set shell --shell zsh
Przechowywany i obserwowany stan
dotnetup.config.json program przechowuje wybrany tryb dostępu i określa, czy dotnetup powinno być włączone na PATH.
dotnetup env show porównuje konfigurację z bieżącym profilem i środowiskiem. Zgłasza odchylenie, jeśli zaobserwowany stan nie jest zgodny.
Ponownie zastosuj zapisaną konfigurację, aby poprawić dryf:
dotnetup env set
Bieżący terminal
Zmiany profilu i środowiska Windows nie nadpisują środowiska bieżącego procesu. Otwórz nowy terminal, wczytaj zmodyfikowany profil lub oceń wygenerowany skrypt.
W przypadku powłoki Bash lub Z:
eval "$(dotnetup env script)"
Dla PowerShell:
dotnetup env script --shell pwsh | Invoke-Expression
env script stosuje zapisaną konfigurację, gdy opcje wyboru nie są przekazywane. Użyj wartości --dotnet, --dotnetuplub obu, aby wybrać wygenerowaną zawartość.
Usuń konfigurację środowiska
Usuń wszystkie połączenia środowiska zarządzanego:
dotnetup env clear
To polecenie jest równoważne z:
dotnetup env set none --dotnetup-on-path false
Nie powoduje odinstalowania zestawów SDK ani środowisk uruchomieniowych.