相关疑难解决方法(0)

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

我从http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=27541安装了.NET 4.5 Developer预览版,它取代了.NET 4.0版本.

但是,检测.NET框架版本的旧方法似乎返回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();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

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

.net clr version .net-4.5

60
推荐指数
5
解决办法
4万
查看次数

如何可靠地检测安装的实际.NET 4.5版本?

我的实际问题是我遇到了两个版本的.NET 4.5完整设置:

  • 一个(可能)较旧的,在下载SQL Server数据工具时也可用
    • 尺寸: 50,349,920
    • MD5: a5e81d1b3905ada0a6e35fd6c6a2e1f4
  • 今天早上从这里下载的一个(可能的)新版本:http://www.microsoft.com/visualstudio/eng/downloads
    • 尺寸: 50,352,408
    • MD5: d02dc8b69a702a47c083278938c4d2f1

这两个设置的版本是4.5.50709.17929.在内部,主要的区别是netfx_Full.mzz文件,但在使用7-zip解压缩内容后,我最终得到了大量具有相同版本的文件,即使文件内容不同(我已经检查了大约42个的大约20个随机文件)所以我无法确定哪一个更新.

有没有办法可靠地检测已安装的.NET 4.5运行时的实际版本,所以我只能在真正需要时运行安装程序?

更新

我检查了所有具有不同内容的426个文件,并且它们在两个设置中都具有相同的ProductVersion和FileVersion.因此,注册表或文件校验和是下一步.

更新2

注册表中列出的版本对于两个设置都是相同的: 4.5.50709

更新3

.NET 4.5.2现已推出:

此版本的.NET Framework与.NET Framework 3.5 SP1和早期版本并行运行,但对.NET Framework 4,.NET Framework 4.5和.NET Framework 4.5.1执行就地更新.

.net .net-4.5

50
推荐指数
1
解决办法
6万
查看次数

标签 统计

.net ×2

.net-4.5 ×2

clr ×1

version ×1