确定我的dotnet版本

时间:2011-02-23 10:43:08

标签: c# .net

如何从c#应用程序本身检查应用程序使用的是什么版本的dotnet?

4 个答案:

答案 0 :(得分:12)

使用Environment.Version - 它为您提供运行应用程序的.NET的确切版本。

  

获取一个Version对象,该对象描述公共语言运行库的主要,次要,构建和修订号。


要了解安装了哪个版本的框架,请参阅this所以问题和答案。在坚果壳中,您需要深入了解注册表。

答案 1 :(得分:6)

您可以使用:

Environment.Version

获取.NET运行时的版本号。

答案 2 :(得分:0)

创建一个控制台应用程序添加此类并运行它

 using Microsoft.Win32;
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;

    namespace ConsoleApplication2
    {
        public class GetDotNetVersion
        {
            public static void Get45PlusFromRegistry()
    {
        const string subkey = @"SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\";
        using (RegistryKey ndpKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32).OpenSubKey(subkey))
        {
            if (ndpKey != null && ndpKey.GetValue("Release") != null)
            {
                Console.WriteLine(".NET Framework Version: " +  CheckFor45PlusVersion((int)ndpKey.GetValue("Release")));
            }
            else
            {
                Console.WriteLine(".NET Framework Version 4.5 or later is not detected.");
            }
        }
    }

    // Checking the version using >= will enable forward compatibility.
    private static string CheckFor45PlusVersion(int releaseKey)
    {
        if (releaseKey >= 394802)
            return "4.6.2 or later";
        if (releaseKey >= 394254)
        {
            return "4.6.1";
        }
        if (releaseKey >= 393295)
        {
            return "4.6";
        }
        if ((releaseKey >= 379893))
        {
            return "4.5.2";
        }
        if ((releaseKey >= 378675))
        {
            return "4.5.1";
        }
        if ((releaseKey >= 378389))
        {
            return "4.5";
        }
        // This code should never execute. 
        // that 4.5 or later is installed.
        return "No 4.5 or later version detected";
    }
 }
 // Calling the GetDotNetVersion.Get45PlusFromRegistry method produces 
 // output like the following:
 //       .NET Framework Version: 4.6.1
 }

答案 3 :(得分:0)

在Visual Studio中 转到工具 - > Nutget包管理 - >包管理器控制台 输入 dotnet --version 你走吧!