[英]Why .NET version is different for two app with same target framework version
添加了一些小代码以在运行时查找.NET版本:
专有应用。
var version = Environment.Version; Console.WriteLine(version.ToString());
两者都使用目标版本.NET Framework 4进行了编译。
样本编输出为4.0.30319.255
专有应用的输出为2.0.50727.8000
示例程序正在被编译并在同一台计算机上运行。
该专有应用正在一台构建机器上进行编译,并在另一台生产机器上进行部署。
为什么会有这种版本差异。
我应该在专有应用程序中哪里寻找此问题。 给我一些指示。
首次检查文档:
Environment.Version属性
获取一个Version对象,该对象描述公共语言运行时的主要,次要,内部和修订版本号。
警告
对于更高版本的.NET Framework 4.5,我们建议您不要使用Version属性来检测运行时的版本。 相反,您可以通过查询注册表来确定公共语言运行库的版本。 有关更多信息,请参见如何:确定安装了.NET Framework版本 。
请参阅以下链接,以进一步了解您的问题:
如何在运行时检测到.NET版本4.5当前正在运行您的代码?
使用2.0 vs. 3.0或3.5时,Environment.Version毫无帮助,因为它总是返回2.0,因为所有这些框架版本都使用CLR 2.0。
也请阅读: NET版本控制和多目标-.NET 4.5是就地升级到.NET 4.0的工具
请注意,此就地替换与.NET 2.0和3.0 / 3.5的并行安装有很大不同,.NET 2.0和3.0 / 3.5均在CLR的2.0版本上运行。 这两个3.x版本基本上是在核心.NET 2.0运行时之上的库增强。 这两个版本都在.NET 2.0运行时下运行,整个3.x周期都未更改(安全补丁和错误修复除外)。 相反,4.5更新完全替代了.NET 4.0运行时,并将实际版本号设置为v4.0.30319
Environment.Version
为您提供CLR使用的版本,而不是.Net框架本身
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.