Mic*_*out 30 .net clr .net-4.5
过去并非每个新版本的.NET都带有新版本的CLR.我知道.NET 1.0,1.1,2.0和4.0,但.NET 3.0和3.5没有.
.NET 4.5会引入新的CLR吗?如何判断是否有新的CLR?
Joa*_*son 28
是的,.NET 4.5有一个品牌打击CLR的新版本,你可以阅读有关改进的内容;
澄清; 这是CLR的新版本,它实际上取代了4.0版本,因此无论是将其称为更新还是新的CLR都是有争议的.
要告诉您正在运行的CLR版本,请使用
System.Runtime.InteropServices.RuntimeEnvironment.GetSystemVersion()
Run Code Online (Sandbox Code Playgroud)
Aar*_*sen 14
是.CLR的版本从更改4.0.30319.269为4.0.30319.17379.因此,CLR是新的,但它与.NET 4.0 CLR向后兼容.您不需要重新编译由.NET v4.0编写和编译的任何代码.
从MSDN上的.NET Framework版本和依赖项页面:
.NET Framework 4.5 RC是一个就地更新,它取代了计算机上的.NET Framework 4.安装此更新后,.NET Framework 4应用程序应继续运行而无需重新编译.但是,.NET Framework中的某些更改可能需要更改您的应用程序代码.
此外,从.NET Framework博客:
.NET Framework 4.5是一个替换.NET Framework 4的就地更新(而不是并行安装).我们的目标是使.NET 4.5完全向后兼容为.NET 4构建的应用程序
有些更改不向后兼容.请参阅 MSDN上的.NET Framework 4.5 RC页面中的应用程序兼容性.
Microsoft的官方指导和良好的编码实践不是检测CLR的特定版本.相反,您应该检测是否存在某些功能.代替
public static bool IsDotNet45()
{
return Environment.Version.Major == 4 &&
Environment.Version.Revision > 17000;
}
Run Code Online (Sandbox Code Playgroud)
做类似的事情:
public static bool SupportsReflectionContext()
{
// Class "ReflectionContext" exists from .NET 4.5 onwards.
return Type.GetType("System.Reflection.ReflectionContext", false) != null;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18940 次 |
| 最近记录: |