.NET Çalışma Zamanı ve SDK'sını kaldırma

Zaman içinde, .NET çalışma zamanı ve SDK'nın güncelleştirilmiş sürümlerini yüklerken, .NET'in eski sürümlerini makinenizden kaldırmak isteyebilirsiniz. Çalışma zamanının eski sürümlerinin kaldırılması, .NET sürüm seçimi makalesinde açıklandığı gibi paylaşılan çerçeve uygulamalarını çalıştırmak için seçilen çalışma zamanını değiştirebilir.

Bir sürümü kaldırayım mı?

.NET sürüm seçimi davranışları ve güncelleştirmeler arasında .NET'in çalışma zamanı uyumluluğu, önceki sürümlerin güvenli bir şekilde kaldırılmasını sağlar. .NET çalışma zamanı güncelleştirmeleri, 7.x ve 6.x gibi ana sürüm bantları içinde uyumludur. Buna ek olarak, .NET SDK'sının daha yeni sürümleri genellikle çalışma zamanının önceki sürümlerini uyumlu bir şekilde hedefleyen uygulamalar oluşturma özelliğini korur.

Genel olarak, yalnızca uygulamanız için gereken en son SDK'ya ve çalışma zamanlarının en son düzeltme eki sürümüne ihtiyacınız vardır. Eski SDK veya çalışma zamanı sürümlerini tutmak isteyebileceğiniz örnekler, project.json tabanlı uygulamaların bakımını içerir. Uygulamanızın önceki SDK'lar veya çalışma zamanları için belirli nedenleri yoksa, eski sürümleri güvenle kaldırabilirsiniz.

Nelerin yüklü olduğunu belirleme

.NET CLI, bilgisayarınızda yüklü OLAN SDK ve çalışma zamanı sürümlerini listelemek için kullanabileceğiniz seçeneklere sahiptir. Yüklü SDK'ların listesini ve dotnet --list-runtimes çalışma zamanlarının listesini görmek için kullanındotnet --list-sdks. Daha fazla bilgi için bkz . .NET'in zaten yüklü olup olmadığını denetleme.

.NET'i kaldırma

.NET, .NET çalışma zamanı ve SDK sürümlerini kaldırmak için Windows Uygulamaları ve özellikler iletişim kutusunu kullanır. Aşağıdaki şekilde Uygulamalar ve özellikler iletişim kutusu gösterilmektedir. .NET'in yüklü sürümlerini filtrelemek ve göstermek için core veya .net araması yapabilirsiniz.

.NET'i kaldırmak için program ekleme/kaldırma

Bilgisayarınızdan kaldırmak istediğiniz sürümleri seçin ve Kaldır'a tıklayın.

.NET'i kaldırmanın en iyi yolu, .NET'i yüklemek için kullandığınız eylemi yansıtmaktır. Ayrıntılar, seçtiğiniz Linux dağıtımına ve yükleme yöntemine bağlıdır.

Önizleme sürümleri el ile yüklenir ve el ile kaldırılmalıdır. Daha fazla bilgi için Betikli veya el ile bölümüne bakın.

Önemli

Red Hat yüklemeleri için .NET için Red Hat Ürün Belgeleri'ne bakın.

.NET yüklemesi varsa aşağıdaki türleri kaldırabilirsiniz:

Paket yöneticisi

El ile yüklenen bir önizleme sürümünden yükseltme yapmazsanız, önce .NET SDK'yı bir paket yöneticisi kullanarak yükseltirken kaldırmanız gerekmez. Paket yöneticisi update veya refresh komutları, daha yeni bir sürümün başarıyla yüklenmesi üzerine eski sürümü otomatik olarak kaldırır. Yüklü bir önizleme sürümünüz varsa kaldırın.

.NET'i bir paket yöneticisi kullanarak yüklediyseniz, .NET SDK'sını veya çalışma zamanını kaldırmak için aynı paket yöneticisini kullanın. .NET yüklemeleri en popüler paket yöneticilerini destekler. Ortamınızdaki tam söz dizimi için dağıtımınızın paket yöneticisinin belgelerine bakın:

Hemen hemen tüm durumlarda, bir paketi kaldırma komutu şeklindedir remove.

Çoğu paket yöneticisi için .NET SDK yüklemesinin paket adı, ardından sürüm numarasıdır dotnet-sdk. Yalnızca ana ve ikincil sürüm numaraları gereklidir: örneğin, .NET SDK sürüm 8.0.200 paketi dotnet-sdk-8.0olarak başvurulabilir.

Sdk'yı değil yalnızca çalışma zamanını yükleyen makineler için paket adı .NET çalışma zamanına ve aspnetcore-runtime-<version> çalışma zamanı yığınının tamamına yöneliktirdotnet-runtime-<version>.

Betikli veya el ile

.NET'i dotnet-install betiğini kullanarak veya tarball ayıklayarak yüklediyseniz, el ile yöntemini kullanarak .NET'i kaldırmanız gerekir.

.NET'i el ile yüklediğinizde, genellikle , /usr/lib/dotnet/veya dizinine /usr/share/dotnet/$HOME/.dotnet yüklenir. SDK, çalışma zamanı ve .NET konağı ayrı alt dizinlere yüklenir. Bu "bileşen" dizinleri her .NET sürümü için bir dizin içerir. Sürüme alınan dizinleri kaldırarak bu .NET sürümünü sisteminizden kaldırırsınız. Bu dizinler Linux dağıtımınıza bağlı olarak farklılık gösterebilir.

.NET'in nerede yüklendiğini bulmak için kullanabileceğiniz üç komut vardır: dotnet --list-sdks SDK'lar, dotnet --list-runtimes çalışma zamanları ve dotnet --info her şey için. Bu komutlar .NET ana bilgisayarını listelemez. Hangi konakların yüklü olduğunu belirlemek için dizinini /usr/share/dotnet/host/fxr/ denetleyin. Aşağıdaki liste, .NET'in belirli bir sürümünün dizinlerini temsil eder ve burada $version değişkeni .NET sürümünü temsil eder:

  • SDK:

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

  • Çalışma Zamanı:

    Çalışma zamanı, veya Microsoft.NETCore.App (özel olarak .NET çalışma zamanı) gibi Microsoft.AspNetCore.All belirli .NET ürün çalışma zamanlarını temel alır. Bunlar, ürün çalışma zamanı olan $product dizinine /usr/share/dotnet/shared/$product/$version yüklenir. Örneğin, aşağıdaki dizinleri görebilirsiniz:

    /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 konağı

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

rm -rf.NET sürümünü kaldırmak için komutunu kullanın. Örneğin, 6.0.406 SDK'sını kaldırmak için aşağıdaki komutu çalıştırın:

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

Önemli

Sürüm dizinleri, kaldırdığınız "sürüm" ile eşleşmeyebilir. Tek bir .NET sürümüyle yüklenen tek tek çalışma zamanlarının ve SDK'ların farklı sürümleri olabilir. Örneğin, 8.0.2 ASP.NET Core çalışma zamanını ve 8.0.8 .NET çalışma zamanını yükleyen ASP.NET Core 8 Çalışma Zamanı'nı yüklemiş olabilirsiniz. Her birinin farklı bir sürümü oluşturulmuş dizini vardır. Daha fazla bilgi için bkz . .NET'in sürümüne genel bakış.

.NET'i el ile yüklediğinizde, genellikle veya $HOME/.dotnet dizinine /usr/local/share/dotnet/ yüklenir. SDK, çalışma zamanı ve .NET konağı ayrı alt dizinlere yüklenir. Bu "bileşen" dizinleri her .NET sürümü için bir dizin içerir. Sürüme alınan dizinleri kaldırarak bu .NET sürümünü sisteminizden kaldırırsınız. Bu dizinler macOS sürümünüze bağlı olarak farklılık gösterebilir.

.NET'in nerede yüklendiğini bulmak için kullanabileceğiniz üç komut vardır: dotnet --list-sdks SDK'lar, dotnet --list-runtimes çalışma zamanları ve dotnet --info her şey için. Bu komutlar .NET ana bilgisayarını listelemez. Hangi konakların yüklü olduğunu belirlemek için dizinini /usr/local/share/dotnet/host/fxr/ denetleyin. Aşağıdaki liste, .NET'in belirli bir sürümünün dizinlerini temsil eder ve burada $version değişkeni .NET sürümünü temsil eder:

  • SDK:

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

  • Çalışma Zamanı:

    Çalışma zamanı, veya Microsoft.NETCore.App (özel olarak .NET çalışma zamanı) gibi Microsoft.AspNetCore.All belirli .NET ürün çalışma zamanlarını temel alır. Bunlar, ürün çalışma zamanı olan $product dizinine /usr/local/share/dotnet/shared/$product/$version yüklenir. Örneğin, aşağıdaki dizinleri görebilirsiniz:

    /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 konağı

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

rm -rf.NET sürümünü kaldırmak için komutunu kullanın. Örneğin, 6.0.406 SDK'sını kaldırmak için aşağıdaki komutu çalıştırın:

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

Önemli

Sürüm dizinleri, kaldırdığınız "sürüm" ile eşleşmeyebilir. Tek bir .NET sürümüyle yüklenen tek tek çalışma zamanlarının ve SDK'ların farklı sürümleri olabilir. Örneğin, 8.0.2 ASP.NET Core çalışma zamanını ve 8.0.8 .NET çalışma zamanını yükleyen ASP.NET Core 8 Çalışma Zamanı'nı yüklemiş olabilirsiniz. Her birinin farklı bir sürümü oluşturulmuş dizini vardır. Daha fazla bilgi için bkz . .NET'in sürümüne genel bakış.

Önemli

M1 yongası olan bir mac gibi Arm tabanlı bir Mac kullanıyorsanız Arm tabanlı Mac'lere .NET yükleme başlığında açıklanan dizin yollarını gözden geçirin.

.NET Kaldırma Aracı

.NET Kaldırma Aracı (dotnet-core-uninstall), .NET SDK'larını ve çalışma zamanlarını bir sistemden kaldırmanıza olanak tanır. Hangi sürümlerin kaldırılması gerektiğini belirtmek için bir seçenek koleksiyonu kullanılabilir.

Not

.NET Kaldırma Aracı şu anda .NET 8+'yı desteklemez. Aracın yayın zamanlaması hakkında daha fazla bilgi için bkz . GitHub - dotnet-uninstall-tool Yol Haritası.

.NET SDK sürümlerine Visual Studio bağımlılığı

Visual Studio 2019 sürüm 16.3'den önce, Visual Studio yükleyicileri .NET Core sürüm 2.1 veya 2.2 için tek başına SDK yükleyicisi olarak adlandırılıyor. Sonuç olarak, SDK sürümleri Windows Uygulamaları ve özellikleri iletişim kutusunda görünür. Tek başına yükleyici kullanılarak Visual Studio tarafından yüklenen .NET SDK'larının kaldırılması Visual Studio'yu bozabilir. SDK'ları kaldırdıktan sonra Visual Studio'da sorun varsa, Visual Studio'nun bu belirli sürümünde Onar'ı çalıştırın. Aşağıdaki tabloda .NET Core SDK sürümlerine yönelik Bazı Visual Studio bağımlılıkları gösterilmektedir:

Visual Studio sürüm .NET Core SDK sürümü
Visual Studio 2019 sürüm 16.2 .NET Core SDK 2.2.4xx, 2.1.8xx
Visual Studio 2019 sürüm 16.1 .NET Core SDK 2.2.3xx, 2.1.7xx
Visual Studio 2019 sürüm 16.0 .NET Core SDK 2.2.2xx, 2.1.6xx
Visual Studio 2017 sürüm 15.9 .NET Core SDK 2.2.1xx, 2.1.5xx
Visual Studio 2017 sürüm 15.8 .NET Core SDK 2.1.4xx

Visual Studio 2019 sürüm 16.3'den başlayarak, Visual Studio kendi .NET SDK kopyasından sorumlu. Bu nedenle, bu SDK sürümlerini artık Uygulamalar ve özellikler iletişim kutusunda görmezsiniz.

NuGet geri dönüş dizinini kaldırma

.NET Core 3.0 SDK'dan önce.NET Core SDK yükleyicileri NuGetFallbackFolder adlı bir dizini kullanarak NuGet paketlerinin önbelleğini depolamıştı. Bu önbellek veya dotnet build /t:Restoregibi dotnet restore işlemler sırasında kullanıldı. NuGetFallbackFolder, .NET'in yüklü olduğu sdk klasörünün altında bulunuyordu. Örneğin, Windows üzerinde C:\Program Files\dotnet\sdk\NuGetFallbackFolder konumunda ve macOS üzerinde /usr/local/share/dotnet/sdk/NuGetFallbackFolder konumunda olabilir.

Aşağıdaki durumlarda bu dizini kaldırmak isteyebilirsiniz:

  • Yalnızca .NET Core 3.0 SDK'sını veya .NET 5 veya sonraki sürümlerini kullanarak geliştirebilirsiniz.
  • 3.0'dan önceki .NET Core SDK sürümlerini kullanarak geliştirebilirsiniz, ancak çevrimiçi çalışabilirsiniz.

NuGet geri dönüş dizinini kaldırmak istiyorsanız, dizini silebilirsiniz, ancak bunu yapmak için yönetici ayrıcalıklarına ihtiyacınız olacaktır.

Dotnet dizininin silinmesi önerilmez. Bunu yaptığınızda daha önce yüklediğiniz tüm genel araçlar kaldırılır. Ayrıca, Windows'da:

  • Visual Studio 2019 sürüm 16.3 ve sonraki sürümleri keseceksiniz. Kurtarmak için Onar'ı çalıştırabilirsiniz.
  • Uygulamalar ve özellikler iletişim kutusunda .NET Core SDK girişleri varsa, bunlar yalnız bırakılır.