Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Note
dotnetup nyilvános előzetes verzióban érhető el. Funkciói és viselkedése az általános elérhetőség előtt változhat.
A Dotnetup konfigurálhatja a környezetet, hogy elérhetővé tegye az általa telepített .NET SDK-kat és futtatókörnyezeteket. Ezt a következő környezeti változók beállításával hajtja végre:
-
PATH: Elérhetővé teszi adotnetparancsot a parancssorban. Az olyan fejlesztői eszközök, mint a Visual Studio vagy a C# Dev Kit, szintén aPATHhasználják a .NET SDK-k és futtatókörnyezetek megkeresésére. -
DOTNET_ROOT: Megadja, hogy a keretrendszerfüggő alkalmazások hol találják meg a .NET telepítési helyét és a megosztott futtatókörnyezeteket.
A Dotnetup különböző elérési módokat támogat, amelyek szabályozzák, hogy hol kerülnek beállításra ezek a környezeti változók. Kiválaszthat egy hozzáférési módot a kezdeti dotnetup beállítás során, vagy később a dotnetup env paranccsal.
| Hozzáférési mód | Viselkedés |
|---|---|
none |
Nem módosítja ezeket a környezeti változókat. Futtassa a .NET-et a(z) dotnetup dotnet használatával. |
shell |
Módosítja a rendszerhéjprofilt a környezeti változók beállításához. Az abból a rendszerhéjból indított folyamatok a dotnetup által telepített .NET SDK-kat és futtatókörnyezeteket használják. |
everywhere |
Módosítja a rendszer PATH elemet, és beállítja a felhasználói szintű DOTNET_ROOT környezeti változót. Csak Windows rendszeren érhető el. |
Alapértelmezés szerint a dotnetup is hozzáadja magát a PATH-hoz, a hozzáférési mód beállításától függetlenül. Ez a(z) dotnetup env set --dotnetup-on-path <true|false> segítségével vezérelhető.
Az Everywhere mód szempontjai
A Mindenhonnan mód az alapértelmezett Windows rendszeren, így a dotnetup által telepített SDK-k és futtatókörnyezetek elérhetők lesznek a fejlesztői eszközökből és a parancsértelmezőként használt cmd terminálokból. Van azonban néhány dolog, amellyel tisztában kell lennie, elsősorban az .NET SDK és futtatókörnyezet gépszintű telepítéseivel való interakciója körül.
A .NET gépszintű telepítései a Program Files mappában találhatók. Telepíthetők olyan telepítőkkel, amelyek a .NET letöltési oldaláról tölthetők le. A Visual Studio telepíti a .NET SDK és a futtatókörnyezet a gép egészére kiterjedő telepítéseit, és a keretrendszerfüggő alkalmazások telepítői is telepíthetik azt a .NET futtatókörnyezetet, amelytől az alkalmazások függenek, a gép egészére kiterjedő helyre.
Everywhere módban a felhasználói helyi, dotnetup által felügyelt .NET telepítési gyökérkönyvtár felülbírálja a gépszintű .NET telepítési gyökérkönyvtárát. Ez azt jelenti, hogy a Program Files mappába telepített .NET SDK-k és futtatókörnyezetek nem lesznek elérhetők. Az ezektől az SDK-któl függő projektek nem fognak lefordulni, ha nincs telepítve egy megfelelő SDK. Ha nincs telepítve egy megfelelő futtatókörnyezet, a keretrendszerfüggő alkalmazások nem indulnak el a következő hibaüzenettel: "Telepítenie vagy frissítenie kell .NET az alkalmazás futtatásához".
A hibák elkerülése érdekében a dotnetup kezdeti beállítása lehetővé teszi a meglévő rendszer .NET SDK- és futtatókörnyezet-telepítések migrálását. Az SDK-kat a dotnetup runtime install --migrate-from-system, a futtatókörnyezeteket pedig a dotnetup sdk install --migrate-from-system futtatásával is explicit módon migrálhatja.
A mindenhol mód be- vagy kikapcsolásához módosítani kell a rendszer ELÉRÉSI ÚTJÁT, ami jogosultságszint-emelést igényel (például egy UAC-kérés jóváhagyását vagy a „Futtatás rendszergazdaként” lehetőséget). Ennek az az oka, hogy a .NET gépszintű telepítői hozzáadják a programfájlok .NET telepítési gyökerét a rendszer PATH-hoz, és a rendszer ELÉRÉSI ÚTJA elsőbbséget élvez a felhasználói szintű PATH-lal szemben a parancsok feloldásakor. Ezért a dotnetupnak módosítania kell a rendszer PATH változóját, hogy a dotnetup .NET telepítési gyökere elsőbbséget élvezzen.
Mivel a rendszer PATH minden felhasználóra vonatkozik, ezek a módosítások más felhasználókra is hatással lehetnek. A rendszer PATH változójához hozzáadott elérési út alapértelmezés szerint a felhasználó helyi AppData mappája alatt található. Ez általában nem lesz elérhető más felhasználók számára, így az nem befolyásolja azt, hogy a(z) dotnet melyik verziója kerül feloldásra. Az emelt szintű (azaz rendszergazdaként futó) folyamatok azonban elolvashatják az elérési utat, és váratlanul egy másik felhasználó .NET SDK-it vagy futtatókörnyezeteit is felismerhetik.
Támogatott parancsértelmezők
Profil- és szkriptgenerálás támogatása:
- Bash
- Z shell
- Hal
- Pwsh (PowerShell Core)
- PowerShell
Ha nem adja meg --shell, dotnetup észleli az aktuális rendszerhéjat. Explicit rendszerhéjat használjon, ha az észlelés nem érhető el, vagy ha egy másik profilt szeretne frissíteni:
dotnetup env set shell --shell zsh
Tárolt és megfigyelt állapot
dotnetup.config.json tárolja a kiválasztott hozzáférési módot, valamint azt, hogy a(z) dotnetup be legyen-e kapcsolva a(z) PATH eszközön.
dotnetup env show összehasonlítja ezt a konfigurációt az aktuális profillal és környezettel. Eltérést jelez, ha a megfigyelt állapot nem egyezik.
Alkalmazza újra a tárolt konfigurációt az eltérés korrigálásához:
dotnetup env set
Jelenlegi terminál
A profil- és Windows környezeti módosítások nem írják át az aktuális folyamat környezetét. Nyisson meg egy új terminált, töltse be a módosított profilt, vagy értékelje ki a létrehozott szkriptet.
Bash vagy Z shell esetén:
eval "$(dotnetup env script)"
PowerShell esetén:
dotnetup env script --shell pwsh | Invoke-Expression
env script akkor követi a tárolt konfigurációt, ha nem adja meg a kijelölési beállításokat. A létrehozott tartalom kiválasztásához használja a(z) --dotnet, --dotnetup elemet vagy mindkettőt.
Környezeti konfiguráció eltávolítása
Távolítsa el az összes felügyelt környezeti kapcsolatot:
dotnetup env clear
Ez a parancs a következőnek felel meg:
dotnetup env set none --dotnetup-on-path false
Nem távolítja el az SDK-kat és a futtatókörnyezeteket.