我们有一个 .NET Framework 4.x 项目,语言版本设置如下:
根据文档,最新的C#编译器根据项目的目标框架或多个框架确定默认语言版本。Visual Studio没有提供更改该值的用户界面,但您可以通过编辑csproj文件来更改它。默认选择确保您使用与目标框架兼容的最新语言版本。您将受益于访问与项目目标兼容的最新语言功能。此默认选择还确保您不使用需要类型或运行时行为在目标框架中不可用的语言。选择比默认版本更新的语言版本可能会导致难以诊断的编译时和运行时错误。 我们是否会因为无意中使用了一个不正确支持运行时的语言特性而得到运行时错误,如果我们在langversion中使用“最新”?例如,使用langversion latest,我们能够使用c# 8.0及以上支持的新()操作符和using声明,即使.NET Framework仅支持7.3版本。 祝好!
<LangVersion>latest</LangVersion>
根据文档,最新的C#编译器根据项目的目标框架或多个框架确定默认语言版本。Visual Studio没有提供更改该值的用户界面,但您可以通过编辑csproj文件来更改它。默认选择确保您使用与目标框架兼容的最新语言版本。您将受益于访问与项目目标兼容的最新语言功能。此默认选择还确保您不使用需要类型或运行时行为在目标框架中不可用的语言。选择比默认版本更新的语言版本可能会导致难以诊断的编译时和运行时错误。 我们是否会因为无意中使用了一个不正确支持运行时的语言特性而得到运行时错误,如果我们在langversion中使用“最新”?例如,使用langversion latest,我们能够使用c# 8.0及以上支持的新()操作符和using声明,即使.NET Framework仅支持7.3版本。 祝好!