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.
Ez a cikk a gyakori dotnetup problémákat és azok megoldását ismerteti.
Diagnosztikai adatok gyűjtése
A probléma elhárítása előtt gyűjtse össze ezeket az információkat:
A
dotnetupverzió, az architektúra, a futtatókörnyezet azonosítója és az ellenőrzött telepítések megjelenítése:dotnetup --infoA nyomon követett telepítési specifikációk és telepítések megjelenítése, valamint a lemezen lévő fájlok ellenőrzése:
dotnetup listHasonlítsa össze a tárolt környezet konfigurációját az aktuális környezettel:
dotnetup env showFuttassa újra a sikertelen parancsot részletes kimenettel. Példa:
dotnetup sdk install 10.0 --verbosity detailed
A projektek nem fordulnak le, vagy az alkalmazások nem indulnak el a telepítés után
Tünet: Miután beállította a(z) dotnetup elemet Windows rendszeren everywhere módban, a korábban sikeresen buildelő projektek most nem fordulnak le. Vagy a keretrendszerfüggő alkalmazások a következő hibát mutatják:
You must install or update .NET to run this application.
Oka: A everywhere módban a dotnetup által felügyelt telepítés elsőbbséget élvez a Program Files mappában lévő gépszintű telepítéssel szemben. Az olyan SDK-k és futtatókörnyezetek, amelyek csak a gépszintű telepítésben léteznek, nem érhetők el.
Megoldás: A gépszintű SDK-k és futtatókörnyezetek áttelepítése a dotnetup által felügyelt telepítésbe:
dotnetup sdk install --migrate-from-system
dotnetup runtime install --migrate-from-system
Vagy váltson a none vagy shell hozzáférési módra. További információkért lásd a Everywhere mode considerations.
a dotnet nem használja a dotnetup által felügyelt telepítést
Tünet: A terminálban lévő dotnet parancs nem használja a dotnetup által telepített SDK-kat.
Ok: A terminál nyitva volt, mielőtt a dotnetup módosította a környezetet, vagy a környezeti konfiguráció nem felel meg a tárolt konfigurációnak.
Solution:
Nyisson meg egy új terminált. A shellprofil vagy a Windows környezeti változók módosításai nem érintik a már megnyitott terminálokat.
Futtassa
dotnetup env show. Ha eltérést jelez, futtassa a(z)dotnetup env setparancsot a tárolt konfiguráció ismételt alkalmazásához.Ha csak az aktuális terminált szeretné konfigurálni, futtassa a(z)
dotnetup env scriptkimenetét. Például Bash vagy zsh esetén:eval "$(dotnetup env script)"A PowerShellben:
dotnetup env script --shell pwsh | Invoke-Expression
További információ: Dotnetup-környezet kezelése.
A telepítési útvonal már tartalmaz egy nem nyomon követett telepítést
Tünet: A telepítési parancs a következő hibával meghiúsul:
The install path '<path>' already contains a .NET installation that is not tracked by dotnetup. To avoid conflicts, use a different install path, remove the existing installation first, or use the --untracked option to install without tracking.
Ok:dotnetup nem telepít nyomon követett fájlokat olyan mappába, amely olyan .NET telepítést tartalmaz, amelyet nem követ nyomon. Ez az ellenőrzés megakadályozzadotnetup, hogy a saját fájljait egy másik eszköz tulajdonában lévő fájlokkal keverje
Megoldás: Tegye az alábbiak egyikét:
- Válasszon egy másik mappát a
--install-pathlehetőséggel. - Távolítsa el a mappában lévő meglévő telepítést.
- Ha egy másik eszköz birtokolja a mappát, használja a
--untrackedlehetőséget.dotnetupnem sorolja fel, nem frissíti és nem távolítja el a nem követett fájlokat.
További információ: Egyéni telepítési gyökerek kezelése.
A végrehajtható dotnet használatban van
Tünet: Windows rendszeren egy telepítési parancs az alábbi üzenethez hasonló figyelmeztetést jelenít meg:
Warning: Could not update dotnet executable at '<path>' - it is currently in use by another process. Close all running .NET applications and try again. The existing muxer will be retained. ...
Ok: Egy futó folyamat a dotnet végrehajtható fájlt használja, ezért dotnetup nem tudja lecserélni. A telepítés a meglévő dotnet végrehajthatóval folytatódik.
Előfordulhat, hogy egy új futtatókörnyezethez újabb dotnet végrehajtható fájlra van szükség.
Megoldás: Zárja be az összes futó .NET alkalmazást, IDE-ket és buildkiszolgálót. Ezután futtassa újra a telepítési parancsot. Ha azt szeretné, hogy a parancs hibával leálljon ahelyett, hogy figyelmeztetéssel folytatódna, használja a --require-muxer-update lehetőséget.
Egy másik dotnetup folyamat fut
Tünet: Egy parancs megjeleníti ezt az üzenetet, és várakozik:
Another dotnetup process is running. Waiting for it to finish...
Ok:dotnetup A(z) megosztott telepítési állapot módosításait szerializálja. Egy másik dotnetup parancs ugyanazt az állapotot módosítja.
Megoldás: Várja meg, amíg a másik parancs befejeződik. Ha más folyamat nem dotnetup fut, keresse meg dotnetup azokat a folyamatokat, amelyek nem válaszoltak, és fejezze be őket.
Az önfrissítés nem helyettesíti a végrehajtható fájlt
Tünet:dotnetup self update arról számol be, hogy nem történt frissítés.
Oka: A kijelölt csatorna ugyanazt a verziót vagy egy régebbi verziót tartalmazza.
A hivatalos napi buildek preview címkét is kapnak, és alapértelmezetten az előnézeti csatornát használják.
Megoldás: A napi buildek megtartásához futtassa a dotnetup self update --channel daily.
A legújabb előzetes verzió szándékos újratelepítéséhez vagy visszalépéséhez futtassa a következőt dotnetup self update --channel preview --force: .
Az önfrissítés sikertelen
Tünet:dotnetup self update meghiúsul a futtatható fájl helye, az engedélyek, az ellenőrzés vagy egy másik aktív parancs miatt.
Solution:
- Futtassa az önálló végrehajtható fájlt a tényleges telepítési címtárából, nem a
dotnethoston keresztül vagy egy végrehajtható szimbolikus hivatkozáson keresztül. - Ellenőrizze, hogy rendelkezik-e írási hozzáféréssel a telepítési könyvtárhoz.
- Ha egy másik parancs zárolást tart fenn, hagyja befejezni, és próbálkozzon újra.
- Ha a hitelesítés sikertelen, ne kerülje meg az ellenőrzőösszeg- vagy az aláírás-ellenőrzést. Jelentse a meghibásodást.
- Ha a futtatható fájl már nem indul el, telepítse újra a letöltési szkriptekkel.
Az olyan régebbi buildek esetében, amelyek nem ismerik fel a parancsot, a letöltési szkriptekkel telepítse az aktuális előzetes verziót. Az ellenőrzéssel és az aláíratlan letöltési szabályzattal kapcsolatos részletekért tekintse meg A dotnetup futtatható fájl.
A manifesztum hibás
Tünet: Egy parancs a következő hibával meghiúsul:
The dotnetup manifest at <path> is corrupt. Consider deleting it and re-running the install.
Az üzenet azt is elmondhatja, hogy a fájlt a dotnetup alkalmazáson kívül módosították.
Ok: A dotnetup_manifest.json fájl érvénytelen. Előfordulhat, hogy egy másik folyamat vagy manuális szerkesztés módosította a fájlt.
Megoldás: Törölje a manifestfájlt és a .sha256 fájlt a dotnetup adatkönyvtárból. Ezután telepítse újra a szükséges SDK-kat és futtatókörnyezeteket. Mivel a manifeszt már nem követi nyomon a meglévő telepítési gyökérkönyvtárat, előfordulhat, hogy először törölnie kell a mappát. Az adatkönyvtár helyéről a dotnetup frissítése vagy eltávolítása című témakörben olvashat.
Note
Ne szerkessze a manifestfájlt. A nyomon követett állapot módosításához használja a dotnetup parancsokat.
A konfigurációs fájl sérült
Tünet: Egy parancs a következő figyelmeztetést jeleníti meg:
Warning: The dotnetup config file at <path> appears to be corrupted and could not be read: ...
Ok: A dotnetup.config.json fájl érvénytelen.
dotnetup figyelmen kívül hagyja a fájlt.
Megoldás: Futtassa a(z) dotnetup env set elemet a kívánt hozzáférési módban, vagy futtassa újra a(z) dotnetup init elemet. Ezek a parancsok új konfigurációt hoznak létre.
A rendszerhéjprofil hibásan formázott dotnetup blokkot tartalmaz
Tünet: A env parancs az üzenethez hasonló hibával meghiúsul:
The shell profile '<path>' contains a malformed dotnetup block: '<begin marker>' does not have a matching '<end marker>'. Remove or repair the block manually and try again.
Ok:dotnetup Kezdő és záró megjegyzésekkel jelöli meg azokat a sorokat, amelyeket hozzáad egy rendszerhéjprofilhoz. Az egyik megjegyzés hiányzik.
Megoldás: Nyissa meg a rendszerhéjprofilt egy szövegszerkesztőben. Távolítsa el a hiányos dotnetup blokkot, vagy adja hozzá a hiányzó jelölőt. Ezután futtassa újra a parancsot.
A jogosultságszint-emelést megszakították
Tünet: Windows rendszeren a everywhere mód be- vagy kikapcsolására szolgáló parancs a következő üzenetet jeleníti meg:
Elevation was cancelled. The system PATH was not modified.
Ok: A rendszer PATH módosítása rendszergazdai jogosultságot igényel. A Felhasználói fiókok felügyelete (UAC) figyelmeztetést megszakították.
Megoldás: Futtassa újra a parancsot, és hagyja jóvá a UAC-kérést. Vagy válassza ki a shell vagy none hozzáférési módot, amely nem igényel jogosultságszint-emelést.
A kiadási jegyzék lejárt
Tünet: A telepítés vagy frissítés sikertelen a release-manifestum ellenőrzése során a ExpiredNow hibakóddal.
Oka: Az aktuális rendszeridő a jegyzék lejárati idején vagy azt követően van. Lehet, hogy a manifesztum lejárt, vagy a rendszeróra helytelen lehet. Az érvényes aláírás nem teszi elfogadhatóvá a lejárt manifesztfájlt.
Solution:
- Ellenőrizze a rendszer dátumát és idejét. Szükség esetén javítsa ki az időt.
- Próbálkozzon újra a paranccsal. Ha egy proxy gyorsítótárazott kiadási metaadatokat szolgál ki, kérje meg a rendszergazdát, hogy ellenőrizze, hogy az egy lejárt manifesztumot szolgál-e ki.
- Ha az óra helyes, és a hiba továbbra is fennáll, jelentse a problémát a parancs részletes kimenetével együtt.
Ne szerkessze a manifestfájlt, és ne módosítsa az órát a lejárati ellenőrzések megkerüléséhez. További információ: Manifesztum lejárata.
A telepítést egy informatikai szabályzat blokkolja
Tünet: Egy napi vagy előzetes build telepítése meghiúsul egy üzenettel, amely azt jelzi, hogy egy informatikai szabályzat digitálisan aláírt letöltéseket igényel.
Ok: A rendszergazda letiltotta az aláíratlan letöltéseket a gépen.
Megoldás: Telepítsen egy kiadott verziót, vagy kérje meg a rendszergazdát, hogy törölje a házirendet. További információ: Hogyan ellenőrzi a dotnetup a letöltéseket.
Probléma bejelentése
Ha ez a cikk nem oldja meg a problémát, keressen rá a meglévő dotnetup-hibajegyekre.
Ha nem talál egyezést, nyisson meg egy új problémát a dotnet/sdk repositoryban a dotnetup problémasablonnal. Adja meg a dotnetup --info kimenetét és a sikertelen parancs kimenetét a(z) --verbosity detailed használatával.
Kérdések és javaslatok esetén használja a dotnetup vitafórumokat.