2011-05-11 78 views
42

如何檢查安裝在我係統上的ASP.NET的版本?如何檢查系統上加載的ASP.NET版本?

+3

編程或者只是你有什麼在你的Windows安裝? – Jimmy 2011-05-11 18:48:51

+2

我相信這可能是重複http://stackoverflow.com/questions/5161529/how-to-know-which-version-of-asp-net-it-is – aceinthehole 2011-05-11 18:52:50

+2

@aceinthehole不,這個問題是關於哪個一個項目的版本被編碼。這是關於在機器上安裝哪個版本。 – 2016-01-20 18:20:21

回答

5

查看c:\ windows \ Microsoft.NET \ Framework,你會看到各種以「v」開頭的文件夾,指示安裝的.NET版本。

+3

我安裝了4.5版本,該版本沒有顯示在Framework目錄下。所以你的解決方案是不正確的。 – AndroidDev 2013-04-18 17:30:53

+1

如果存在,是否檢查c:\ windows \ Microsoft.NET \ FFramework64 – Rich 2014-01-30 18:49:51

29

您可以使用

<% 
Response.Write("Version: " + System.Environment.Version.ToString()); 
%> 

這將讓當前運行的版本。您可以檢查註冊表在所有已安裝的版本:

HKEY_LOCAL_MACHINE \ SOFTWARE \微軟\ NET Framework安裝\ NDP

+0

太棒了。非常感謝你們這樣快速的迴應。堆在流岩石。 – vanaja 2011-05-11 19:28:39

+0

但Keyboardp的一個問題。我應該在哪裏運行您發送的命令<%Response.Write ........%> – vanaja 2011-05-11 19:29:53

+0

您可以創建一個新的ASPX頁面並將其複製/粘貼到您的頁面中。如果你想從代碼隱藏中做到這一點,那麼只需使用' Response.Write(「Version:」+ System.Environment.Version.ToString());'不需要'<% %>' – keyboardP 2011-05-11 19:32:34

30

你可以看到是哪個版本被執行時加載谷歌瀏覽器的頁面+開發人員工具(預裝)或Firefox + Firebug(附加組件)。

我使用谷歌瀏覽器:

  1. 打開Chrome,並使用按Ctrl ++打開開發人員工具。
  2. 轉至「網絡」選項卡
  3. 點擊底部的「保留日誌在導航」
  4. 加載任何網頁上
  5. 點擊響應報頭的小按鈕

它看起來是這樣的:

enter image description here

+5

這並不顯示v4.0和v4.5之間的差異,因爲它們都在4.0.30319的相同X-AspNet版本下運行。您需要檢查註冊表或執行Response.Write,如@KeyboardP回答。 – 2015-02-25 07:51:48

+4

這種方法可以很容易的找到'.NET CLR Framework'版本,而不是'ASP.NET'版本...... – Serge 2016-01-19 13:56:07

+0

你可以很容易地隱藏「X-Asp-Net-Version」頭文件http://www.admin-enclave.com/en/articles/windows/285-windows-hardening-disable-the-x-aspnet-version-header.html),所以這個解決方案不會總是有效。 – BastianW 2016-09-28 19:59:59

4

我有同樣的問題,找到一個方法來檢查是否ASP.NET 4。 5在服務器上。由於v4.5已替換爲v4.0,因此如果您查看c:\ windows \ Microsoft.NET \ Framework,則不會看到v4.5文件夾。實際上,有一種簡單的方法可以查看機器中安裝的版本。在Windows Server 2008或Windows 7下,只需進入控制面板 - >程序和功能,如果已安裝,您將找到「Microsoft .NET Framework 4.5」。

2

或者,您可以在網頁和Page_Load類型中創建一個按鈕;

Trace.IsEnabled = True 

而在按鈕單擊事件類型;

Response.Write(Trace) 

這將打開所有的跟蹤信息,你會發現在「X-ASPNET版」中的「響應頭集」你的ASP.NET版本。

+0

你可以很容易地隱藏「X-Asp-Net-Version」頭文件,就像書面[這裏]一樣(http://www.admin-enclave.com/en/articles/windows/285-windows-hardening-disable-the -x-aspnet-version-header.html),所以這個解決方案不會總是有效。 – BastianW 2016-09-28 20:01:10

0

這是一些代碼,將返回安裝。NET細節:

<%@ Page Language="VB" Debug="true" %> 
<%@ Import namespace="System" %> 
<%@ Import namespace="System.IO" %> 
<% 
Dim cmnNETver, cmnNETdiv, aspNETver, aspNETdiv As Object 
Dim winOSver, cmnNETfix, aspNETfil(2), aspNETtxt(2), aspNETpth(2), aspNETfix(2) As String 

winOSver = Environment.OSVersion.ToString 
cmnNETver = Environment.Version.ToString 
cmnNETdiv = cmnNETver.Split(".") 
cmnNETfix = "v" & cmnNETdiv(0) & "." & cmnNETdiv(1) & "." & cmnNETdiv(2) 

For filndx As Integer = 0 To 2 
    aspNETfil(0) = "ngen.exe" 
    aspNETfil(1) = "clr.dll" 
    aspNETfil(2) = "KernelBase.dll" 

    If filndx = 2 
    aspNETpth(filndx) = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System), aspNETfil(filndx)) 
    Else 
    aspNETpth(filndx) = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Windows), "Microsoft.NET\Framework64", cmnNETfix, aspNETfil(filndx)) 
    End If 

    If File.Exists(aspNETpth(filndx)) Then 
    aspNETver = Diagnostics.FileVersionInfo.GetVersionInfo(aspNETpth(filndx)) 
    aspNETtxt(filndx) = aspNETver.FileVersion.ToString 
    aspNETdiv = aspNETtxt(filndx).Split(" ") 
    aspNETfix(filndx) = aspNETdiv(0) 
    Else 
    aspNETfix(filndx) = "Path not found... No version found..." 
    End If 
Next 

Response.Write("Common MS.NET Version (raw): " & cmnNETver & "<br>") 
Response.Write("Common MS.NET path: " & cmnNETfix & "<br>") 
Response.Write("Microsoft.NET full path: " & aspNETpth(0) & "<br>") 
Response.Write("Microsoft.NET Version (raw): " & aspNETtxt(0) & "<br>") 
Response.Write("<b>Microsoft.NET Version: " & aspNETfix(0) & "</b><br>") 
Response.Write("ASP.NET full path: " & aspNETpth(1) & "<br>") 
Response.Write("ASP.NET Version (raw): " & aspNETtxt(1) & "<br>") 
Response.Write("<b>ASP.NET Version: " & aspNETfix(1) & "</b><br>") 
Response.Write("OS Version (system): " & winOSver & "<br>") 
Response.Write("OS Version full path: " & aspNETpth(2) & "<br>") 
Response.Write("OS Version (raw): " & aspNETtxt(2) & "<br>") 
Response.Write("<b>OS Version: " & aspNETfix(2) & "</b><br>") 
%> 

下面是新的輸出,更乾淨的代碼,更多的輸出:

Common MS.NET Version (raw): 4.0.30319.42000 
Common MS.NET path: v4.0.30319 
Microsoft.NET full path: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\ngen.exe 
Microsoft.NET Version (raw): 4.6.1586.0 built by: NETFXREL2 
Microsoft.NET Version: 4.6.1586.0 
ASP.NET full path: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\clr.dll 
ASP.NET Version (raw): 4.7.2110.0 built by: NET47REL1LAST 
ASP.NET Version: 4.7.2110.0 
OS Version (system): Microsoft Windows NT 10.0.14393.0 
OS Version full path: C:\Windows\system32\KernelBase.dll 
OS Version (raw): 10.0.14393.1715 (rs1_release_inmarket.170906-1810) 
OS Version: 10.0.14393.1715 
相關問題