在.NET Framework 所有版本中,默认C#版本为7.3,如果要使用C#8.0、9.0、10.0甚至最新版的语言特性,只需要修改项目设置.csproj
文件 ,增加 <LangVersion>属性
,来使用新的语言特性,旧版 .NET Framework 项目格式(csproj)修改项目设置文件,需要先卸载项目,再选择编辑项目文件。
<PropertyGroup>
<LangVersion>12.0</LangVersion>
</PropertyGroup>
这样设置之后在使用一些语法时会提示缺少System.Range/System.Index
类等,可以使用PolySharp来自动生成这些类,PolySharp包可以从NuGet包管理器下载。因为此包不支持旧版项目引用样式packages.config,需要修改为PackageReference 引用样式(用于 .NET Core 项目、.NET Standard 项目),我们在配置文件中加入如下属性。
<PropertyGroup>
<!--- ... -->
<RestoreProjectStyle>PackageReference</RestoreProjectStyle>
<!--- ... -->
</PropertyGroup>
参考官方文档:项目文件中的 PackageReference
然后再从NuGet包管理器下载安装PolySharp包,即可使用多数高版本C#特性。
PolySharp包的介绍可以参考原文档:https://github.com/Sergio0694/PolySharp
注意:一定先添加<RestoreProjectStyle>属性,再安装PolySharp包,否则不生效。