猿问

如何在运行时检测到.NET版本4.5当前正在运行您的代码?

如何在运行时检测到.NET版本4.5当前正在运行您的代码?

我从http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=27541安装了.NET 4.5开发人员预览版,该版本“替代”了.NET 4.0版本。


但是,检测.NET Framework版本的旧方法似乎返回4.0(更准确地说是在我的PC上为4.0.30319.17020),而不是4.5(可能是向后兼容,还是?):


using System;


namespace ConsoleApplication

{

    class Program

    {

        static void Main(string[] args)

        {

            var version = Environment.Version;

            Console.WriteLine(version.ToString());

            Console.ReadKey();

        }

    }

}

如何检测我的代码是否确实由.NET 4.5执行?


江户川乱折腾
浏览 657回答 4
4回答

翻过高山走不出你

若要确定您的应用程序正在运行的.NET确切补丁,请进行以下调用以找到mscorlib的内部版本号:System.Diagnostics.FileVersionInfo.GetVersionInfo(typeof(int).Assembly.Location).ProductVersion它当前为我返回4.6.1055.0,它对应于.NET 4.6.1。

慕妹3146593

.NET Framework 4.5是就地升级到4.0。这宽松地意味着,如果您在版本4.0或4.5的运行时上运行,并且已安装4.5,则您肯定在4.5上运行。您的支票可能会如下所述。让我们将4.0和4.5运行时称为4.0版本的运行时。检查您是否在4.0版本的运行时上运行:那么您将在4.0版本的运行时上运行。如果您的程序集已编译为目标.NET 4.0,或者Environment.Version.Major == 4 && Environment.Version.Minor == 0通过检查已安装的版本,检查4.0版本的运行时实际上是版本4.0还是4.5。在键下HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Client,检查_Version_值。如果开始"4.0"于4.0运行时,则开始"4.5"于4.5运行时。
随时随地看视频慕课网APP
我要回答