2011-12-15 61 views
4

如何獲取我的asp.net應用程序的運行網點版本。獲取我的應用程序的當前網點版本

我試圖解決從這裏

Is there an easy way to check the .NET Framework version?

它給安裝的最高版本,但我需要運行的版本。

+0

你看過項目的屬性了嗎?目標框架版本在那裏可用。 – TheGeekYouNeed 2011-12-15 11:40:27

+0

`System.Environment.Version.ToString()`這是你感興趣的嗎?或者你的意思是這個http://stackoverflow.com/questions/420941/why-cant-i-display-the-asp-net-framework-version-as-3-5 – V4Vendetta 2011-12-15 11:45:19

回答

6

使用Environment.Version獲取運行時版本。它會給出用於執行當前應用程序的.Net CLR的版本號。

這裏你需要小心,它只會返回運行時版本而不是框架版本。 .NET 3.0和.NET 3.5的CLR與.NET 2.0的CLR相同。

+0

但是沒有辦法獲得版本像3.5或4.0? – Paras 2011-12-15 11:44:52

-3

希望這一個幫助,

DirectoryEntry site = new DirectoryEntry(@"IIS://localhost/w3svc/1/Root"); 
PropertyValueCollection values = site.Properties["ScriptMaps"]; 
foreach (string val in values) 
{ 
    if (val.StartsWith(".aspx")) 
    { 
     string version = val.Substring(val.IndexOf("Framework") + 10, 9); 
     MessageBox.Show(String.Format("ASP.Net Version is {0}", version)); 
    } 
} 

腳本映射屬性是字符串數組。如果應用程序支持asp.net,那麼其中一個字符串將是aspx文件擴展名到asp.net處理程序的映射,該處理程序將成爲DLL的完整路徑。路徑將類似於:

%windir%/ Microsoft.NET/Framework // aspnet_isapi.dll。

您可以通過一些簡單的解析獲得該字符串的版本。

相關問題