Windows'ta, .NET Framework'ün birden çok sürümünü aynı anda yükleyebilir ve çalıştırabilirsiniz. .NET kitaplıklarına dayalı yeni bir uygulama geliştirirken veya dağıtırken, bazen önceden bilmeniz gerekir .Net Framework'ün hangi sürümlerinin ve hizmet paketlerinin kullanıcının bilgisayarında veya sunucusunda yüklü olduğu. Bilgisayarınızda yüklü olan .NET Framework sürümlerinin bir listesini çeşitli şekillerde alabilirsiniz.
içindekiler:
- Windows Kayıt Defteri aracılığıyla .NET Framework Sürümünü Kontrol Etme
- PowerShell ile .NET Framework Sürümü Nasıl Kontrol Edilir?
- Uzak Bilgisayarlarda Yüklü .NET Sürümlerini Listeleme
- CMD ile .NET Framework Sürümü Nasıl Bulunur?
Windows Kayıt Defteri aracılığıyla .NET Framework Sürümünü Kontrol Etme
.NET Framework'ün herhangi bir sürümünü yüklediğinizde veya güncellediğinizde, değişiklikler Windows kayıt defterine yazılır.
Kayıt Defteri Düzenleyicisini çalıştırın (regedit.exe
) ve kayıt defteri anahtarına gidin HKLM\YAZILIM\Microsoft\NET Framework Kurulumu\NDP. Bu kayıt anahtarı, bilgisayardaki tüm .NET sürümleri hakkında bilgi içerir. Herhangi bir alt anahtarı genişletin ve aşağıdaki parametrelere dikkat edin (.Net 4.x için genişletmeniz gerekir)
- Düzenlemek — yükleme bayrağı (1'e eşitse, .Net'in bu sürümü bilgisayarda kuruludur);
- Yükleme Yolu — bu .Net sürümünün kurulu olduğu dizin;
- Serbest bırakmak — .NET sürüm numarası;
- Sürüm — .Net Framework'ün tam sürüm numarası.
![.Net sürüm numarası ve kayıt defterindeki sürüm](/f/7ce22b2806dfa205893fcc832f0af806.webp)
Uç. .NET 4.0 ve daha yenisi için, Tam alt anahtarı yoksa bu, Çerçevenin bu sürümünün bilgisayarda yüklü olmadığı anlamına gelir.
Bu örnekte, .NET Framework v2.0.50727, 3.0, 3.5 ve 7.0'ın (sürüm 460805) kurulu olduğunu görebilirsiniz.
Aşağıdaki tabloyu kullanarak sürüm numarasını .NET Framework sürümüyle (.NET 4.5 ve daha yenisi için) eşleyebilirsiniz.
Yayın Numarası | .NET Framework sürümü |
378389 | .NET Çerçevesi 4.5 |
378675 | NET Framework 4.5.1, Windows 8.1 ve Windows Server 2012 R2'de |
378758 | Windows 8, Windows 7 SP1, Windows Vista SP2 üzerinde .NET Framework 4.5.1 |
379893 | .NET Çerçevesi 4.5.2 |
393295 | Windows 10'da .NET Framework 4.6 |
393297 | .NET Çerçevesi 4.6 |
394254 | Windows 10 1511'de .NET Framework 4.6.1 |
394271 | .NET Çerçevesi 4.6.1 |
394802 | Windows 10 1607'de .NET Framework 4.6.2 |
394806 | .NET Çerçevesi 4.6.2 |
460798 | Windows 10 1703'te .NET Framework 4.7 |
460805 | .NET Çerçevesi 4.7 |
461308 | Windows 10 1709'da .NET Framework 4.7.1 |
461310 | .NET Çerçevesi 4.7.1 |
461808 | Windows 10 1803'te .NET Framework 4.7.2 |
461814 | .NET Çerçevesi 4.7.2 |
528372 | Windows 10 2004, 20H2 ve 21H1'de .NET Framework 4.8 |
528040 | Windows 10 1903 ve 1909'da .NET Framework 4.8 |
528449 | Windows Server 2022 ve Windows 11'de .NET Framework 4.8 |
528049 | .NET Framework 4.8 (diğer Windows sürümleri) |
.NET Çerçevesi 4.8 .NET Framework'ün en son kullanılabilir sürümüdür.
PowerShell ile .NET Framework Sürümü Nasıl Kontrol Edilir?
PowerShell'i kullanarak NET Framework'ün bilgisayarınızda kurulu sürümleri ve yayınları hakkında bilgi alabilirsiniz. Bu bilgileri doğrudan kayıt defterinden almanın en kolay yolu, Get-ChildItem
Ve Get-ItemProperty
cmdlet'ler (hakkında daha fazla bilgi PowerShell ile kayıt defteri girişlerini yönetme).
Bir bilgisayarda .Net Framework'ün tüm sürümlerinin bir listesini görüntülemek için şu komutu çalıştırın:
Get-ChildItem ‘HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP’ -Recurse | Get-ItemProperty -Name version -EA 0 | Where { $_.PSChildName -Match ‘^(?!S)\p{L}’} | Select PSChildName, version
![powershell ile net çerçeve sürümünü öğrenin](/f/2cac437e80b6b5d946f360d1d0f118e9.webp)
Bu bilgisayarda .Net 2.0, 3.0, 3.5 ve 4.7 sürümleri kuruludur.
.Net v4.0 ile başlayarak, daha yeni Çerçeve sürümü eski sürümün üzerine yazar (yerine geçer). Bunlar, bilgisayarda .NET Framework 4.7 yüklüyse, .NET Framework 4.8 yüklenirken eski sürüm değiştirilecektir.
(.Net 4.x sürümleri) için yalnızca yayın numarasını görüntüleyebilirsiniz:
(Get-ItemProperty ‘HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full’ -Name Release).Release
![powershell ile net çerçeve numarasını kontrol edin](/f/194c1235c06f839d41a331a690253e12.webp)
Tabloya göre 528449 sayısı Windows 11 üzerinde .Net Framework 4.8'e karşılık gelmektedir.
Uzak Bilgisayarlarda Yüklü .NET Sürümlerini Listeleme
PowerShell kullanarak ağınızdaki bilgisayarlarda yüklü olan .Net Framework sürümlerinin bir listesini uzaktan alabilirsiniz.
İşte bir metin dosyasından bilgisayarların listesini sorgulayan ve .Net Framework'ün kurulu sürümlerini uzaktan kontrol eden küçük bir PowerShell betiği. WinRM Invoke-Command cmdlet'i uzak bilgisayarlarda komut çalıştırmak için kullanılır.
Function GetNetFrameworkVersion {
Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP' -recurse |
Get-ItemProperty -name Version, Release -EA 0 |
Where { $_.PSChildName -match '^(?![SW])\p{L}'} |
Select PSChildName, Version, Release, @{
name="Product"
expression={
switch -regex ($_.Release) {
"378389" { [Version]"4.5" }
"378675|378758" { [Version]"4.5.1" }
"379893" { [Version]"4.5.2" }
"393295|393297" { [Version]"4.6" }
"394254|394271" { [Version]"4.6.1" }
"394802|394806" { [Version]"4.6.2" }
"460798|460805" { [Version]"4.7" }
"461308|461310" { [Version]"4.7.1" }
"461808|461814" { [Version]"4.7.2" }
"528040|528049|528449|528372" { [Version]"4.8" }
{$_ -gt 528449} { [Version]"unidentified version (> 4.8)" }
}
}
}
}
$result=@()
$servers= Get-Content C:\Scripts\my_servers.txt
foreach ($server in $servers)
{
$result+=Invoke-Command -ComputerName $server -ScriptBlock $function: GetNetFrameworkVersion
}
$result| select PSComputerName,@{name = ".NET Framework"; expression = {$_.PSChildName}},Product, Version, Release| Out-GridView
Komut dosyası bir grafik tablo görüntüler (üzerinden Izgara Görünümü Dışı) uzak bilgisayarlarda yüklü .Net Framework sürümlerinin bir listesiyle birlikte.
![Uzak bilgisayarlardan .NET Framework sürümünü almak için PowerShell betiği](/f/8375816f5baf7aad51256901be7430a4.webp)
.NET sürümünün kontrol edileceği bilgisayarların listesini aşağıdaki gibi de ayarlayabilirsiniz:
$servers= @("comp1","comp2","comp3","comp4")
Veya şu etki alanı bilgisayarlarının bir listesini alabilirsiniz: Get-ADComputer cmdlet'i (dan Windows PowerShell modülü için Active Directory). Aşağıdaki komut, etki alanındaki tüm etkin Windows Server ana bilgisayarlarını seçecektir:
$servers= Get-ADComputer -Filter 'operatingsystem -like "*Windows server*" -and enabled -eq "true"'
CMD ile .NET Framework Sürümü Nasıl Bulunur?
.NET Framework'ün tüm sürümleri aşağıdaki Windows klasörlerine yüklenir:
%SystemRoot%\Microsoft.NET\Framework
%SystemRoot%\Microsoft.NET\Framework64
Bu klasörü açıp kurulu .NET sürümlerinin bir listesini görmeniz yeterlidir. Her sürümün ayrı bir dizini vardır. v ve klasör adı olarak bir sürüm numarası. .NET Framework'ün kurulu sürümlerini komut isteminden listeleyebilirsiniz:
dir %WINDIR%\Microsoft.Net\Framework\v* /O:-N /B
![Hangi .NET Framework Sürümlerinin Yüklendiğini Belirleme - cmd](/f/c61d5a7be8ef3af86b0358eb245c51a9.webp)
Framework 4.5+ v4.0.xxxxx alt dizinine yüklendiğinden, bu komut .NET 4.5 dışındaki tüm kurulu sürümleri listeleyecektir.