.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 özellikleri veya Uygulamalar > Yüklü Uygulamalar ayarları sayfasını kullanır. Aşağıdaki resimde gösterildiği gibi Ayarlar sayfasını açmak için Program Ekle veya Kaldır'ı aramak için Başlat Menüsünü kullanın: şekilde Uygulamalar ve özellikler iletişim kutusu gösterilir. .NET'in yüklü sürümlerini filtrelemek ve göstermek için core veya .net araması yapabilirsiniz.
Makinenizde yüklü sürümleri bulmak için ayarlar sayfasında .net araması yapın. ... öğesini seçin .>Öğeyi kaldırmak için kaldırın . Windows 10 kullanıyorsanız kaldırmak istediğiniz öğenin Kaldır düğmesini seçin. Aşağıdaki görüntüde Windows 11'de Yüklü Uygulamalar ayarları sayfası gösterilmektedir:
Önemli
Kaldırdığınız öğe Visual Studio'dan olduğunu gösteriyorsa, .NET'in bu sürümlerini kaldırmak için Visual Studio Yükleyicisi kullanı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:
- apt-get(8), Ubuntu dahil olmak üzere Debian tabanlı sistemler tarafından kullanılır.
- yum(8) Fedora, CentOS Stream, Oracle Linux ve RHEL üzerinde kullanılır.
- zypper(8) openSUSE ve SUSE Linux Enterprise System (SLES) üzerinde kullanılır.
- dnf(8) Fedora'da kullanılır.
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.0
olarak 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ı) gibiMicrosoft.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ı) gibiMicrosoft.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ı, .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. Daha fazla bilgi için bkz . .NET kaldırma aracına genel bakış.
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:Restore
gibi 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.