问题:
有老项目是5年之前写的,目前开发人员都用vs2019,但现场客户机器还是vs2013,所以写得新代码,放到现场编译后,发现编译不通过;
原因及分析
-
经查询:vs2013默认使用fw4.5.2,c#版本为5;
-
公司开发环境:vc2019默认使用c#9;
所以可通过把项目指定的开发语言版本降低,来规范开发人员使用旧语法;
打开所有项目的.csproj文件增加如下节点:
<PropertyGroup>
<LangVersion>5</LangVersion>
</PropertyGroup>
使用高版本如vs2019测试
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net5.0</TargetFramework>
<LangVersion>5</LangVersion>
</PropertyGroup>
</Project>
当然升级IDE也行
保持旧的fw框架不升级,使用新语法,问题不大;
但风险未知,请自行测试吧