2011-12-15 4 views
4

私のasp.netアプリケーションの実行中のドットネットバージョンを取得する方法を教えてください。私のアプリケーションの現在のドットネットバージョンを取得

私はここに

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

から解決策を試してみましたそれは最高のバージョンがインストールされていますが、私は、実行中のバージョンが必要です。

+0

あなたはプロジェクトのプロパティを見ましたか?ターゲットとするフレームワークのバージョンはそこで入手できます。 – TheGeekYouNeed

+0

'System.Environment.Version.ToString()'これはあなたが興味を持っているものですか?またはあなたはこれを意味するhttp://stackoverflow.com/questions/420941/why-cant-i-display-the-asp-net-framework-version-as-3-5 – V4Vendetta

答えて

6

実行時間バージョンの取得にはEnvironment.Versionを使用してください。現在のアプリケーションの実行に使用されている.Net CLRのバージョン番号を表示します。

ここで注意する必要があるのは、フレームワークバージョンではなくランタイムバージョンのみです。 .NET 3.0と.NET 3.5のCLRは.NET 2.0のCLRと同じです。

+0

しかし、そこに方法を取得する3.5や4.0のようなバージョン? – Paras

+0

あなたはEnvironment.Versionで取得した情報を使って計算する必要があります – Maheep

4

Environment.Versionを使用すると、アプリケーションを実行している.NETのバージョンが正確になります。この1つは助け

-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をサポートしている場合、これらの文字列の1つは、asp.netハンドラへのaspxファイル拡張子のマッピングであり、DLLへのフルパスになります。パスは、

%windir%/ Microsoft.NET/Framework // aspnet_isapi.dllのようになります。

単純な解析でこの文字列のバージョンを取得できます。

+0

私は本当に人々が何かdownvote何かを説明したいと思います。私はこれは本当に質問に答えるものではないと仮定する必要があります。 – Hammerstein

+2

@Hammerstein - 個人的には、何か説明や何もせずにコードを投稿しただけなので。 –

関連する問題