Why does VS2015 allow C# 6.0 functions for .Net 4.5.2 applications?
本问题已经有最佳答案,请猛点这里访问。
我在Visual Studio 2015中遇到了一个奇怪的行为。我正在编写一个针对4.5.2.NET框架的应用程序:
然后在应用程序中,我尝试使用一些在C 6.0(来自.NET 6.0)中实现的东西:
1 2 3 |
我很确定使用
我在Visual Studio 2013中运行了相同的代码,也针对4.5.2版本,但这次我无法编译代码(找不到
VS2015如何允许我编译在目标.NET框架版本中不允许的代码?
我在黑暗中的拍摄是,VS2015能够将C 6.0代码计算到CIL中,CIL仍然与以前的版本兼容,但我不确定这是否是正确的猜测。
C 6是语言C的新版本,它与.NET框架版本无关。因此,即使使用旧版本的.NET,也可以使用C 6。Roslyn编译器是随VS2015一起提供的新编译器,但可以作为独立版本安装在旧版本的VS上。所以基本上,Roslyn为您编译新特性,不管您使用的是什么框架版本。