使用较旧的.NET版本和较新的C#版本的副作用

时间:2018-09-13 09:58:15

标签: c# .net visual-studio compiler-errors

我在带有Visual Studio 2017的Windows 10计算机上的.NET Project中编写了一些代码。 目标框架ist 4.5.2。并且使用的C#版本是默认版本(在“ C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319”下运行csc工具显示C#5。

我使用了C#6中的功能。Monadic空检查(https://damieng.com/blog/2013/12/09/probable-c-6-0-features-illustrated)。 并且编译器不会对此抱怨。

这是正常的行为还是我缺少什么?编译器不应该抱怨吗?

2 个答案:

答案 0 :(得分:3)

您所缺少的是所使用的C#编译器不是您找到的csc.exe。 Visual Studio附带了自己的C#编译器,该编译器支持C#6(以及以后的版本,具体取决于您安装的VS的确切版本)。

答案 1 :(得分:0)

C#语言版本由Visual Studio而不是.Net Framework决定。

只要您的Visual Studio版本支持C#版本,您就不会遇到任何错误。

在Visual Studio中配置语言版本:https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/configure-language-version