编程语言
首页 > 编程语言> > C#-v4.0的.NET版本定义发生了什么?

C#-v4.0的.NET版本定义发生了什么?

作者:互联网

我正在建立一个C#类库,并使用Visual Web Developer / Visual C#2010的Beta2.我试图保存有关该库所基于的.NET版本的信息.过去,我可以使用此功能:

// What version of .net was it built under?
#if NET_1_0
        public const string NETFrameworkVersion = ".NET 1.0";
#elif NET_1_1
        public const string NETFrameworkVersion = ".NET 1.1";
#elif NET_2_0
        public const string NETFrameworkVersion = ".NET 2.0";
#elif NET_3_5
        public const string NETFrameworkVersion = ".NET 3.5";
#else
        public const string NETFrameworkVersion = ".NET version unknown";
#endif

所以我想我可以添加:

#elif NET_4_0
        public const string NETFrameworkVersion = ".NET 4.0";

现在,在“项目”->“属性”中,我的目标框架是“ .NET Framework 4”.如果我检查:

Assembly.GetExecutingAssembly().ImageRuntimeVersion

我可以看到我的运行时版本是v4.0.21006(所以我知道我的CPU上安装了.NET 4.0).我自然希望看到我的NETFrameworkVersion变量包含“ .NET 4.0”.它不是.它包含“ .NET版本未知”.

所以我的问题是,为什么未定义NET_4_0?命名约定是否发生变化?是否有一些其他简单方法可以确定版本>中的.NET Framework构建版本. 3.5?

解决方法:

您所说的NET_x_y版本号清单从来都不是正式规格的一部分,并且Microsoft似乎已停止使用它们.

标签:c,net,net-4-0
来源: https://codeday.me/bug/20191210/2100078.html