7

スタック オーバーフローの質問を参照しました。.NET Framework のバージョンを確認する簡単な方法はありますか? . しかし、そこで与えられた提案は、次の目的には機能しませんでした。

C# コンソール アプリケーションが使用している .NET のバージョンを特定するにはどうすればよいでしょうか。

環境:

  • ビジュアル スタジオ 2010
  • .NET Framework: 3.5 (添付のスクリーンショットを参照してください)

コード

using System;
using System.Globalization;
using Microsoft.Win32;
namespace TESTConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            //.NET version: Approach 1
            RegistryKey installed_versions = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\NET Framework Setup\NDP");
            string[] version_names = installed_versions.GetSubKeyNames();
            double latestFramework = Convert.ToDouble(version_names[version_names.Length - 1].Remove(0, 1), CultureInfo.InvariantCulture);
            int SP = Convert.ToInt32(installed_versions.OpenSubKey(version_names[version_names.Length - 1]).GetValue("SP", 0));
            Console.WriteLine(latestFramework);

            //Approach 2
            string versionval = Environment.Version.ToString();
            Console.WriteLine(versionval);

            //Approach 3
            string systemVersionVal = System.Runtime.InteropServices.RuntimeEnvironment.GetSystemVersion().ToString();
            Console.WriteLine(systemVersionVal);

            Console.ReadLine();
        }
    }
}

出力

ここに画像の説明を入力してください

バージョン設定

ここに画像の説明を入力してください

4

1 に答える 1

2

2 番目と 3 番目に接近したのはCLR version numbers.

.NET Framework 2 と .NET Framework 3.5 は を使用してCLR 2.0います。

また、CLR 3.0 または 3.5 はありません。

于 2013-02-28T06:07:38.747 に答える