A .NET-futtatókörnyezet és az SDK eltávolítása

Idővel a .NET-futtatókörnyezet és az SDK frissített verzióinak telepítésekor érdemes lehet eltávolítani a .NET elavult verzióit a gépről. A futtatókörnyezet régebbi verzióinak eltávolítása megváltoztathatja a megosztott keretrendszeralkalmazások futtatásához kiválasztott futtatókörnyezetet, a .NET-verzió kiválasztásáról szóló cikkben leírtak szerint.

El kell távolítani egy verziót?

A .NET-verzióválasztási viselkedés és a .NET futásidejű kompatibilitása a frissítések között lehetővé teszi a korábbi verziók biztonságos eltávolítását. A .NET-futtatókörnyezet frissítései kompatibilisek egy fő verziósávon belül, például 7.x és 6.x. Emellett a .NET SDK újabb kiadásai általában továbbra is képesek olyan alkalmazások létrehozására, amelyek kompatibilis módon célják meg a futtatókörnyezet korábbi verzióit.

Általában csak az alkalmazáshoz szükséges futtatókörnyezetek legújabb SDK-jára és legújabb javításverziójára van szüksége. Az olyan példányok, ahol a régebbi SDK-t vagy futtatókörnyezeti verziókat szeretné megtartani, az project.json-alapú alkalmazások fenntartása. Ha az alkalmazásnak nincs konkrét oka a korábbi SDK-kra vagy futtatókörnyezetekre, akkor biztonságosan eltávolíthatja a régebbi verziókat.

A telepített eszköz meghatározása

A .NET CLI-ben a számítógépre telepített SDK és futtatókörnyezet verzióit listázhatja. A telepített SDK-k és dotnet --list-runtimes a futtatókörnyezetek listájának megtekintéséhez használhatódotnet --list-sdks. További információ: Hogyan ellenőrizheti, hogy a .NET már telepítve van-e.

A .NET eltávolítása

A .NET a Windows Apps > funkciói párbeszédpanelen távolítja el a .NET-futtatókörnyezet és az SDK verzióit. Az alábbi ábrán az Alkalmazások és szolgáltatások párbeszédpanel látható. A core vagy a .net keresésével szűrheti és megjelenítheti a .NET telepített verzióit.

Programok hozzáadása/eltávolítása a .NET eltávolításához

Jelölje ki a számítógépről eltávolítani kívánt verziókat, és kattintson az Eltávolítás gombra.

A .NET eltávolításának legjobb módja a .NET telepítéséhez használt művelet tükrözése. A konkrétumok a választott Linux-disztribúciótól és a telepítési módszertől függenek.

Az előzetes verziójú kiadásokat manuálisan kell telepíteni, és manuálisan kell eltávolítani. További információkért tekintse meg a Szkriptelt vagy a Manuális szakaszt.

Fontos

A Red Hat telepítéseihez tekintse meg a .NET-hez készült Red Hat termékdokumentációt.

A .NET telepítésekor a következő típusokat távolíthatja el:

Csomagkezelő

A .NET SDK-t nem kell először eltávolítania a csomagkezelővel való frissítéskor, kivéve, ha manuálisan telepített előzetes verzióról frissít. A csomagkezelő update vagy refresh a parancsok automatikusan eltávolítják a régebbi verziót egy újabb verzió sikeres telepítésekor. Ha telepítve van egy előzetes verzió, távolítsa el.

Ha a .NET-et csomagkezelővel telepítette, ugyanezt a csomagkezelőt használva távolítsa el a .NET SDK-t vagy a futtatókörnyezetet. A .NET-telepítések támogatják a legnépszerűbb csomagkezelőket. A környezet pontos szintaxisát a disztribúció csomagkezelőjének dokumentációjában találja:

A csomagok eltávolítására vonatkozó parancs szinte minden esetben a removekövetkező: .

A .NET SDK telepítésének csomagneve a legtöbb csomagkezelő esetében a dotnet-sdkverziószám. Csak a fő- és alverziószámok szükségesek: a .NET SDK 8.0.200-as verziója például csomagként dotnet-sdk-8.0hivatkozható.

Azon gépek esetében, amelyek csak a futtatókörnyezetet telepítették, és nem az SDK-t, a csomag neve dotnet-runtime-<version> a .NET-futtatókörnyezethez és aspnetcore-runtime-<version> a teljes futtatókörnyezeti veremhez tartozik.

Parancsfájl vagy manuális

Ha a .NET-et a dotnet-install szkripttel vagy egy tarball kinyerésével telepítette, a kézi módszerrel el kell távolítania a .NET-et.

Ha manuálisan telepíti a .NET-et, az általában az /usr/share/dotnet/, /usr/lib/dotnet/vagy a $HOME/.dotnet könyvtárba lesz telepítve. Az SDK, a futtatókörnyezet és a .NET-gazdagép külön alkönyvtárakba van telepítve. Ezek az "összetevő" könyvtárak a .NET minden verziójához tartalmaznak könyvtárat. A verziószámozott könyvtárak eltávolításával eltávolítja a .NET-verziót a rendszerből. Ezek a könyvtárak a Linux-disztribúciótól függően változhatnak.

Három parancsot használhat a .NET telepítésének felderítésére: dotnet --list-sdks SDK-khoz, dotnet --list-runtimes futtatókörnyezetekhez és dotnet --info mindenhez. Ezek a parancsok nem sorolják fel a .NET-gazdagépet. A telepített gazdagépek meghatározásához ellenőrizze a könyvtárat /usr/share/dotnet/host/fxr/ . Az alábbi lista a .NET egy adott verziójának könyvtárait jelöli, ahol a $version változó a .NET verzióját jelöli:

  • SDK:

    /usr/share/dotnet/sdk/$version/

  • Futtatókörnyezet:

    A futtatókörnyezet adott .NET-termék futtatókörnyezeteken alapul, például Microsoft.AspNetCore.All vagy Microsoft.NETCore.App (kifejezetten a .NET-futtatókörnyezeten). Ezek a /usr/share/dotnet/shared/$product/$version címtárba vannak telepítve, ahol $product a termék futtatókörnyezete található. Előfordulhat például, hogy a következő könyvtárakat látja:

    /usr/share/dotnet/shared/Microsoft.NETCore.App/$version/
    /usr/share/dotnet/shared/Microsoft.AspNetCore.App/$version/
    /usr/share/dotnet/shared/Microsoft.AspNetCore.All/$version/
    
  • .NET-gazdagép

    /usr/share/dotnet/host/fxr/$version/

rm -rf A parancs használatával távolítsa el a .NET egyik verzióját. A 6.0.406 SDK eltávolításához például futtassa a következő parancsot:

sudo rm -rf /usr/share/dotnet/sdk/6.0.406

Fontos

Előfordulhat, hogy a verziókönyvtárak nem egyeznek az eltávolítani kívánt verzióval. Az egyetlen .NET-kiadással telepített egyes futtatókörnyezetek és SDK-k különböző verziókkal rendelkezhetnek. Előfordulhat például, hogy telepítette ASP.NET Core 8 futtatókörnyezetet, amely a 8.0.2 ASP.NET Core-futtatókörnyezetet és a 8.0.8 .NET-futtatókörnyezetet telepítette. Mindegyiknek más verziójú könyvtára van. További információ: A .NET verziószámának áttekintése.

Ha manuálisan telepíti a .NET-et, az általában a könyvtárba vagy $HOME/.dotnet a /usr/local/share/dotnet/ könyvtárba lesz telepítve. Az SDK, a futtatókörnyezet és a .NET-gazdagép külön alkönyvtárakba van telepítve. Ezek az "összetevő" könyvtárak a .NET minden verziójához tartalmaznak könyvtárat. A verziószámozott könyvtárak eltávolításával eltávolítja a .NET-verziót a rendszerből. Ezek a könyvtárak a macOS-verziótól függően változhatnak.

Három parancsot használhat a .NET telepítésének felderítésére: dotnet --list-sdks SDK-khoz, dotnet --list-runtimes futtatókörnyezetekhez és dotnet --info mindenhez. Ezek a parancsok nem sorolják fel a .NET-gazdagépet. A telepített gazdagépek meghatározásához ellenőrizze a könyvtárat /usr/local/share/dotnet/host/fxr/ . Az alábbi lista a .NET egy adott verziójának könyvtárait jelöli, ahol a $version változó a .NET verzióját jelöli:

  • SDK:

    /usr/local/share/dotnet/sdk/$version/

  • Futtatókörnyezet:

    A futtatókörnyezet adott .NET-termék futtatókörnyezeteken alapul, például Microsoft.AspNetCore.All vagy Microsoft.NETCore.App (kifejezetten a .NET-futtatókörnyezeten). Ezek a /usr/local/share/dotnet/shared/$product/$version címtárba vannak telepítve, ahol $product a termék futtatókörnyezete található. Előfordulhat például, hogy a következő könyvtárakat látja:

    /usr/local/share/dotnet/shared/Microsoft.NETCore.App/$version/dotnet --info
    /usr/local/share/dotnet/shared/Microsoft.AspNetCore.App/$version/
    /usr/local/share/dotnet/shared/Microsoft.AspNetCore.All/$version/
    
  • .NET-gazdagép

    /usr/local/share/dotnet/host/fxr/$version/

rm -rf A parancs használatával távolítsa el a .NET egyik verzióját. A 6.0.406 SDK eltávolításához például futtassa a következő parancsot:

sudo rm -rf /usr/local/share/dotnet/sdk/6.0.406

Fontos

Előfordulhat, hogy a verziókönyvtárak nem egyeznek az eltávolítani kívánt verzióval. Az egyetlen .NET-kiadással telepített egyes futtatókörnyezetek és SDK-k különböző verziókkal rendelkezhetnek. Előfordulhat például, hogy telepítette ASP.NET Core 8 futtatókörnyezetet, amely a 8.0.2 ASP.NET Core-futtatókörnyezetet és a 8.0.8 .NET-futtatókörnyezetet telepítette. Mindegyiknek más verziójú könyvtára van. További információ: A .NET verziószámának áttekintése.

Fontos

Ha Arm-alapú Macet használ, például egy M1-chippel rendelkezőt, tekintse át a .NET telepítése Arm-alapú Mac gépeken című témakörben leírt könyvtárútvonalakat.

.NET-eltávolítási eszköz

A .NET-eltávolító eszköz (dotnet-core-uninstall) lehetővé teszi a .NET SDK-k és futtatókörnyezetek eltávolítását a rendszerből. Rendelkezésre áll egy beállításgyűjtemény, amellyel megadhatja, hogy mely verziókat kell eltávolítani.

Feljegyzés

A .NET-eltávolító eszköz jelenleg nem támogatja a .NET 8+-t. Az eszköz kiadási ütemezéséről további információt a GitHub – dotnet-uninstall-tool roadmap című témakörben talál.

Visual Studio-függőség a .NET SDK-verziókon

A Visual Studio 2019 16.3-s verziója előtt a Visual Studio telepítői a .NET Core 2.1-es vagy 2.2-es verziójának különálló SDK-telepítőjét hívták. Ennek eredményeképpen az SDK-verziók megjelennek a Windows Apps > szolgáltatások párbeszédpanelén. A Visual Studio által az önálló telepítővel telepített .NET SDK-k eltávolítása megszakíthatja a Visual Studiót. Ha a Visual Studio az SDK-k eltávolítása után problémákat tapasztal, futtassa a Javítás parancsot a Visual Studio adott verzióján. Az alábbi táblázat a .NET Core SDK-verziókhoz tartozó Visual Studio-függőségeket mutatja be:

Visual Studio-verzió .NET Core SDK-verzió
Visual Studio 2019 16.2-es verzió .NET Core SDK 2.2.4xx, 2.1.8xx
Visual Studio 2019 16.1-es verzió .NET Core SDK 2.2.3xx, 2.1.7xx
Visual Studio 2019 16.0-s verzió .NET Core SDK 2.2.2xx, 2.1.6xx
Visual Studio 2017 15.9-es verzió .NET Core SDK 2.2.1xx, 2.1.5xx
Visual Studio 2017 15.8-os verzió .NET Core SDK 2.1.4xx

A Visual Studio 2019 16.3-s verziójától kezdve a Visual Studio felelős a .NET SDK saját példányáért. Emiatt ezek az SDK-verziók már nem jelennek meg az Alkalmazások és szolgáltatások párbeszédpanelen.

A NuGet tartalék könyvtár eltávolítása

A .NET Core 3.0 SDK előtt a .NET Core SDK telepítői egy NuGetFallbackFolder nevű könyvtárat használtak a NuGet-csomagok gyorsítótárának tárolására. Ezt a gyorsítótárat olyan műveletek során használták, mint a dotnet restore vagy dotnet build /t:Restorea . A NuGetFallbackFolder az sdk mappában található, ahol a .NET telepítve van. Ilyen lehet például a C:\Program Files\dotnet\sdk\NuGetFallbackFolder windowsos és a /usr/local/share/dotnet/sdk/NuGetFallbackFolder macOS rendszeren.

A következő esetekben célszerű eltávolítani ezt a könyvtárat:

  • Csak a .NET Core 3.0 SDK vagy a .NET 5 vagy újabb verziók használatával fejleszt.
  • A .NET Core SDK 3.0-nál korábbi verzióival fejleszt, de online is dolgozhat.

Ha el szeretné távolítani a NuGet tartalék könyvtárat, törölheti azt, de ehhez rendszergazdai jogosultságokra lesz szüksége.

Nem ajánlott törölni a dotnet könyvtárat. Ezzel eltávolítja a korábban telepített globális eszközöket. Windows rendszeren is:

  • A Visual Studio 2019 16.3-s és újabb verzióit fogja megszakítani. A helyreállításhoz futtathatja a Javítás parancsot.
  • Ha az Alkalmazások és szolgáltatások párbeszédpanelen .NET Core SDK-bejegyzések találhatók, azok árvaak lesznek.