.NET sürümünü nasıl bulabilirim?


258

Hangi .NET sürümünün yüklü olduğunu nasıl öğrenebilirim?

Ben komut istemine yazabilirsiniz ve bana yüklü geçerli sürüm (ler) söyler "java -version" kadar basit bir şey arıyorum.

Visual Studio'nun yüklenmeyebileceğini eklemeliyim - bu genellikle bir istemci makine hakkında bilmek istediğim bir şeydir.


2
Bu komutu çalıştırmak ve yürütmek için gidin: wmic / namespace: \\ root \ cimv2 path win32_product burada "name like '%%. NET %%'" sürümü
edinin


Yanıtlar:


250

Sadece yazın herhangi birini size ilk satırdaki son sürümünü vermek için aşağıdaki komutları.

1. CSC
2. GACUTIL /l ?
3. CLRVER

Bunları yalnızca Visual Studio yüklüyse Visual Studio Komut isteminden veya başka bir durumda .NET framework SDK'sı, ardından SDK Komut istemi varsa çalıştırabilirsiniz.

4. wmic product get description | findstr /C:".NET Framework"
5. dir /b /ad /o-n %systemroot%\Microsoft.NET\Framework\v?.*

Son komut (5) , en son yüklenen .NET'in tüm sürümlerini (4.5 hariç) listeler . .NET 4.5'in yüklü olup olmadığını görmek için 4. komutu çalıştırmanız gerekir.

PowerShell komut istemindeki diğer üç seçenek aşağıda verilmiştir.

6.   [environment]::Version
7.   $PSVersionTable.CLRVersion
8.   gci 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP' -recurse | gp -name Version,Release -EA 0 |
     where { $_.PSChildName -match '^(?!S)\p{L}'} | select PSChildName, Version, Release

Son komut (8) size .NET 4.5 dahil tüm sürümleri verecektir.


6
'CSC' yalnızca Visual Studio komut isteminden çalışır (varsayılan olarak). Ayrıca yalnızca derleyicinin hedeflediği .NET çerçevesinin maksimum sürümünü verir. - Yüklü VS2005 ve VS2008 varsa, CSC'nin farklı sürümleri farklı sürümleri bildirir.
Matt Lacey

15
csc.NET Framework sürümünü değil, C # derleyicisinin sürümünü verir.
Timwi

4
Yüklediğimi düşünmeme rağmen son komut 4.5 sürümünü döndürmedi. Stackoverflow.com/questions/3487265/… adresindeki cevap içeriyordu.
lmsurprenant

2
Son komut en son sürümü göstermiyor. Sürümü appwiz.cpl'de arayabiliriz veya 'wmic product' komutunu da kullanışlıdır. windows-commandline.com/find-net-version-on-your-computer
Giri

11
8 numaraya şerefe!
Lionet Chen

330

Bir cmd isteminden makinenize tam sürüm .NET sürümünü yüklemenin daha kolay bir yolu vardır. Sadece aşağıdaki talimatları izleyin;

  1. Komut istemini açın (örn. Windows + R → "cmd" yazın).
  2. Hepsi bir satırda aşağıdaki komutu yazın:

reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP"

(Bu işlem tüm .NET sürümlerini listeler.)

  1. En son .NET 4 sürümünü kontrol etmek istiyorsanız.
  2. Aşağıdaki komutu tek bir satıra yazın:

reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\full" /v version

Nasıl gösterildiğini görmek için lütfen aşağıdaki ekli resmi bulun.

Resim açıklamasını buraya girin


4
en basit ve en kesin olanı buldu (sonunda "* \ v4 \ Full" ile), sadece küçük bir versiyonu da basit bir komutla alır.
Ignas Vyšnia

1
Güzel. Bir kullanıcı PC üzerinde çalışacak bir şey istedim ve bu kadar. Teşekkürler!
Kelly


6
Güzel ama Windows 7
makineme

tam olarak doğru değil; Denetim Masası> Programlar ve Özellikler bölümüne bakıyorum ve .NET belirtisi yok .; ancak, komutunuzu çalıştırın ve bana çıktı HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ NET Framework Setup \ NDP \ v4.0 verir. Muhtemelen, .NET bir zamanlar makineme kuruldu, unistalled, ancak kayıt defteri temizlenmedi
Newton fan 01


30

Komut istemine gitmeden önce lütfen aşağıdaki adımları izleyin ...

Bilgisayarımı Aç → " C: " sürücüsüne çift tıklayın → " Windows " ya çift tıklayın → " Microsoft.NET " üzerine çift tıklayın → " Çerçeve " ye çift ​​tıklayın → Bu klasörün içinde "v1.0.3705" gibi klasörler olacaktır ve / veya "v2.0.50727" ve / veya "v3.5" ve / veya "v4.0.30319".

En son .NET sürümünüz en yüksek v numarası klasöründe olacaktır, bu nedenle v4.0.30319 mevcutsa, en son .NET çerçevenizi barındıracaktır. Ancak, v4.0.30319, .NET framework sürüm 4.0'a sahip olduğunuz anlamına gelmez. V4.0.30319, Visual C # derleyici sürümünüzdür, bu nedenle .NET framework sürümünü bulmak için aşağıdakileri yapın.

Bir komut istemine gidin ve şu yolu izleyin:

C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 (veya en yüksek v numarası klasörü ne olursa olsun)

C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319> csc.exe

Çıktı:

Microsoft (R) .NET Framework 4.5 için Microsoft (R) Visual C # Derleyici sürüm 4.0.30319.17929 Telif Hakkı (C) Microsoft Corporation. Tüm hakları Saklıdır.

Aşağıdaki örnek:

Resim açıklamasını buraya girin


2
Oldukça iyi, ancak çıktı en azından sunucumda farklı - Hayır "için" mesajı dahil edildi: lh4.googleusercontent.com/-p7Fu5GDj0cg/UywSqPTdQjI/AAAAAAAAALQ/…
Nenotlep

2
dizin türünü değiştirmek için : cd C:\Windows\Microsoft.NET\Framework\v4.0.30319ve sonra yazın csc.exe, umut birine yardımcı olur.
shaijut

1
Sınırlı bir kullanıcı hesabıyla giriş yaptığınızda çoğunlukla etkilidir.
Rzassar

10

Bu yanıt yalnızca .NET Core için geçerlidir!

Yazma dotnet --versionseçtiğiniz terminalde kullanımda .NET Çekirdek SDK sürümünü basar.

dotnetKomut hakkında daha fazla bilgiyi buradan edinebilirsiniz .


15
Yalnızca .NET Core için geçerlidir.
Sunil

9

Yüklü olan çerçevenin sürümü için, yüklediğiniz hizmet paketlerine ve düzeltmelere bağlı olarak değişir. Daha fazla ayrıntı için bu MSDN sayfasına göz atın . %systemroot%\Microsoft.NET\FrameworkSürümü almak için bakmayı önerir .

Environment.Version programlı olarak size CLR sürümünü verecektir.

Bunun CLR'nin sürümü olduğunu ve yüklediğiniz çerçevenin en son sürümüyle aynı olmadığını unutmayın (.NET 3.0 ve 3.5'in her ikisi de CLR'nin v2'sini kullanır).


Environment.Version size uygulama sürümünü veriyor gibi görünüyor. Diyelim, LinqPad'den çalıştığı .NET sürümünü bulmak istiyorum ve bana .NET sürümünü değil, LinqPad sürümünü veriyor
Naomi

@Naomi: hayır, CLR sürümünü veriyor. Dokümanlar'dan: "Ortak dil çalışma zamanının ana, küçük, derleme ve düzeltme numaralarını açıklayan bir Version nesnesi alır." .
adrianbanks

Bu nesnede ne görmem gerekiyor? Ben görüyorum 2.0.50727.5472 2 Minor 0 Build 50727 Revizyon 5472 MajorRevision 0 MinorRevision 5472 bana CLR sürüm çalışma zamanı gibi görünmüyor
Naomi

LinqPad'in en son sürümünü yükledim ve şimdi sürüm için 4.0.30319.18052 alıyorum. Önceki sürüm .NET 3.5 sürümünü hedefliyordu. Yani, hala biraz kafam karıştı - gerçekten CLR sürümünü gösteriyor mu?
Naomi

1
@Naomi: Evet, CLR sürümünü gösteriyor. 2.0.50727.5472, .Net 3.0 ve 3.5 için de kullanılan .Net 2.0 CLR'nin sürümüdür. 4.0.30319.18052, farklı bir sürüm numarasına sahip .Net 4.0'dır.
adrianbanks

8

MSDN , kayıt defterinden nasıl kontrol edileceği konusunda burada çok güzel detaylar veriyor :

Kayıt defterini görüntüleyerek .NET Framework sürümlerini bulmak için (.NET Framework 1-4)

  1. Başlat menüsünde Çalıştır'ı seçin.
  2. Aç kutusuna regedit.exe yazın. Regedit.exe'yi çalıştırmak için yönetici kimlik bilgilerine sahip olmanız gerekir.
  3. Kayıt Defteri Düzenleyicisi'nde aşağıdaki alt anahtarı açın:

    HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ NET Framework Kurulumu \ NDP

Yüklü sürümler NDP alt anahtarının altında listelenir. Sürüm numarası Sürüm girişinde saklanır. .NET Framework 4 için Sürüm girdisi İstemci veya Tam alt anahtarın (NDP altında) veya her iki alt anahtarın altındadır.

Kayıt defterini görüntüleyerek .NET Framework sürümlerini bulmak için (.NET Framework 4.5 ve üzeri)

  1. Başlat menüsünde Çalıştır'ı seçin.
  2. Aç kutusuna regedit.exe yazın. Regedit.exe dosyasını çalıştırmak için yönetici kimlik bilgilerine sahip olmanız gerekir.
  3. Kayıt Defteri Düzenleyicisi'nde aşağıdaki alt anahtarı açın:

    HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ NET Framework Kurulumu \ NDP \ v4 \ Tam

Tam alt anahtar yolunun .NET Framework yerine Net Framework alt anahtarını içerdiğini unutmayın

Adlı bir DWORD değeri olup olmadığını kontrol edin Release. Sürüm DWORD varlığı, .NET Framework 4.5 veya daha yenisinin bu bilgisayara yüklendiğini gösterir.

resim açıklamasını buraya girin

Not : Yukarıdaki anlık görüntüde kırpılan son satır okur On all other OS versions: 461310. Ekran görüntüsünü alırken bilgilerin kırpılmasını önlemek için en iyi seviyemi denedim ama tablo çok büyüktü.


6

Bir komut istemi açar ve aşağıdaki iki komutu yazarsanız, geçerli makineye yüklenen tüm çerçeve sürümleri listelenir (her biri bu dizinde ayrı bir dizinde depolanır).

cd %systemroot%\Microsoft.NET\Framework

dir /A:D

8
Bu muhtemelen yanıltıcı olduğu için önerilmez. 4.0 => 4.5.2 sürümlerini yükselttiyseniz, dizin yalnızca v4.0.30319'u gösterebilir. Sunimal Kaluarachchi'nin örneğine bakın.
Dinah

6

Sadece komut satırına aşağıdakileri yazın:

dir /b /ad /o-n %systemroot%\Microsoft.NET\Framework\v?.*

Dotnet sürümünüz en yüksek sayı olarak gösterilecektir.


1
4.0'a kadar tüm sürümleri görüntüler, ancak 4.5 sürümlerini göstermez.
pinowthebird

4

Kurulu sürümleri sadece komut satırına almak için net-versiyonunu kullanmanızı tavsiye ederim .

  • Sadece tek bir ikili .
  • Sürüm bilgilerini almak için Microsoft'umun sağladığı yönergeleri kullanır .
  • SDK'nın kurulmasını gerektirmez.
  • Veya Visual Studio komut istemi.
  • Regedit kullanmanızı ve kayıt defteri anahtarlarını kendiniz avlamanızı gerektirmez. Gerekirse, çıktıyı bir komut satırı aracına da bağlayabilirsiniz.

Kaynak kodu github.com adresinde mevcuttur.

Tam açıklama: Bu aracı kendimden hayal kırıklığı yarattım.


Bu (eksik) sürüm bilgisi seti sizin için yeterliyse, daha fazla güç.
Dan Esparza

@Shiva Komutun her şeyi gösterdiğini düşündüğünüzü söylüyorsunuz ve ben size saygıyla katılmıyorum. Lütfen Microsoft tarafından sağlanan yönergeleri içeren bağlantıya bakın. Örneğin: Sorgunuz .NET 4.6.1'in yüklü olduğunu göstermiyor. Ayrıca, .NET Framework sürümü olmayan 'CDF' yüklediğimi gösterir.
Dan Esparza

4

Bunu oldukça sık yaparsanız (yapmaya meyilli olduğum gibi) masaüstünüzde aşağıdaki gibi bir kısayol oluşturabilirsiniz:

  1. Masaüstünü sağ tıklayın ve YeniKısayol'u seçin .
  2. Konum alanına şu dizeyi yapıştırın: powershell.exe -noexit -command "gci 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP' -recurse | gp -name Version,Release -EA 0 | where { $_.PSChildName -match '^(?!S)\p{L}'} | select PSChildName, Version, Release"(bu Binoj Antony'nin gönderisinden ).
  3. Hit İleri . Kısayola bir ad verin ve Sonlandırın .

(NOT: Bunun 4.5 için çalışıp çalışmadığından emin değilim, ancak 4.6 ve 4.5'ten önceki sürümler için çalıştığını onaylayabilirim.)


Sürüm 1.0 ve 1.1 , NET Framework Kur anahtarında görünmez, ancak% systemroot% \ Microsoft.NET \ Framework \ klasöründe bulunur.
samis

4

İşte referans alarak alarak kullandığım Power Shell betiği:

https://stackoverflow.com/a/3495491/148657

$Lookup = @{
    378389 = [version]'4.5'
    378675 = [version]'4.5.1'
    378758 = [version]'4.5.1'
    379893 = [version]'4.5.2'
    393295 = [version]'4.6'
    393297 = [version]'4.6'
    394254 = [version]'4.6.1'
    394271 = [version]'4.6.1'
    394802 = [version]'4.6.2'
    394806 = [version]'4.6.2'
    460798 = [version]'4.7'
    460805 = [version]'4.7'
    461308 = [version]'4.7.1'
    461310 = [version]'4.7.1'
    461808 = [version]'4.7.2'
    461814 = [version]'4.7.2'
    528040 = [version]'4.8'
    528049 = [version]'4.8'
}

# For One True framework (latest .NET 4x), change the Where-Oject match 
# to PSChildName -eq "Full":
Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP' -Recurse |
  Get-ItemProperty -name Version, Release -EA 0 |
  Where-Object { $_.PSChildName -match '^(?!S)\p{L}'} |
  Select-Object @{name = ".NET Framework"; expression = {$_.PSChildName}}, 
@{name = "Product"; expression = {$Lookup[$_.Release]}}, 
Version, Release

Yukarıdaki komut dosyası kayıt defterini kullanır ve bir makinede yüklü olan .Net Framework ile birlikte Windows güncelleme numarasını verir.

Referans: https://docs.microsoft.com/tr-tr/dotnet/framework/migration-guide/how-to-determine-which-versions-are-installed#to-find-net-framework-versions-by- sorgulama-kayıt-in-kod-net-çerçeve-45-ve-daha sonra

İşte bu betiği iki farklı makinede çalıştırırken aynı sonuçlar

  1. .NET 4.7.2'nin önceden yüklendiği yer:

resim açıklamasını buraya girin

  1. .NET 4.7.2'nin yüklü olmadığı yerler:

resim açıklamasını buraya girin


3

Tanrım, yüklü .net çerçevesinin sürümünü bulmak için çok karışıklık?

Windows> Ara> Visual Studio Installer> VS'nin yüklü sürümü için Diğer> Değiştir> Ayrı Bileşenler üzerine dokunun ve orada görün:

resim açıklamasını buraya girin



1

clrvermükemmel bir tanesidir. Sadece .NET isteminde çalıştırın ve mevcut tüm çerçeve sürümlerini listeleyecektir.


3
Bu araç yalnızca .NET çerçevesinin değil, Visual Studio'nun da kurulmasını gerektirir. OP, Visual Studio'nun yüklenmemiş olabileceğini belirtti.
Dan Esparza

Ve tüm (hatta çoğu) sürümleri göstermez. Win7 bilgisayarım sadece V2.0 ve 4.0'ı gösteriyor, ancak yukarıdaki diğer yöntemlerin bazıları da sürümleri gösteriyor: 3.0, 3.5, 4.5, 4.5.1, 4.5.2, 4.6.1 ve 4.7.
Zeek2

1
@Zeek clrverŞekil yüklü .net çalışma zamanı (s) , edilebileceği arasında paylaşılan .net sürümü (ler) . Bkz Hangi .NET Framework sürümleri yüklü belirleyin: Nasıl ve Çalıştırdığınız .NET sürümü (2.0, 4.5, 4.5.1 veya 4.5.2) belirlenmesi
Samis

1

Windows 10 1607 çalıştıran ve .net 4.7'yi arayan herkes için . Yukarıdakilerin tümünü dikkate almayın.

Bu burada değil Sicil , \ Windows \ Microsoft.NET: C klasör veya Yüklü Programlar liste veya aynı listenin WMIC ekran.

"Yüklü güncellemeler" için KB3186568'i arayın.


1
Microsoft tarafından belgelendiği gibi kayıt defterinde . HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full- Releasedeğer 460798W10 1607'de 4,7 olacaktır.
Richard Deeming

O değil. "Tam" tuşu bile yoktur.
skrie

1
Öyle, ve öyle. 1607 kullanıyorum ve şu Fullan anahtara bakıyorum !
Richard Deeming


0

Bazı .Net uygulamaları (ör. Web uygulaması için) geliştiriyorsanız, 1 satır hata kodu oluşturabilirsiniz (yanlış işlev adını çağırmak gibi) ve sayfanızı yeniden yükleyebilirsiniz, .Net sürümü gösterilirresim açıklamasını buraya girin


Muhtemelen en temiz yol değil, ama gerçekten tamamen unuttuğum bir seçenek. GACUTIL /l ?(Geliştirici) powershell'inizdeki basitlik aynıdır.
B - rian

-1

Bir cmd isteminden makinenize tam sürüm .NET sürümünü yüklemenin daha kolay bir yolu vardır. Sadece aşağıdaki talimatları izleyin;

Komut istemini açın (örn. Windows + R → “cmd” yazın) ve tümü tek bir satıra aşağıdaki komutu yazın:% windir% \ Microsoft.NET \ FrameWork ve ardından en son sürüm numarasına sahip dizine gidin.

Http://dotnettec.com/check-dot-net-framework-version/ adresine bakın.


Cevabınızı takip etmeye çalışırken bu hatayı alıyorum:'C:\Windows\Microsoft.NET\FrameWork' is not recognized as an internal or external command, operable program or batch file.
pavjel
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.