Roslyn和.NET运行时版本

是否可以使用旧版.NET Runtime的Roslyn编译器和C#6.0的新function(例如,.NET 4.0)?

例如,我想在.NET 4.0应用程序中使用表达式 – 身体成员( int S => x + y;而不是int S { get { return x + y; } } )。

新的C#6.0function不依赖于框架支持所以是的,您使用C#6.0编译器编译的应用程序将在.NET 4.0上运行,假设您当然指定您首先在项目文件中定位.NET 4.0 。

截至目前,Roslyn C#编译器和工具无法在.NET 4.0上运行

你当然可以交叉编译 .NET 4.0,但要运行编译器本身至少需要.NET 4.5