C# 错误 CS1617 /langversion 的选项“11.0”无效
1、遇到的问题:
C# 错误 CS1617 /langversion 的选项“11.0”无效。
2、出现的原因:
程序代码交接,更换开发电脑后,编译过程出现上述提示。
3、开发环境:
原来的开发平台版本不知道,出现错误的环境为win10,64位企业版,VS2019。
4、无效处理过程:
1)按照搜索,包括https://learn.microsoft.com/zh-cn/dotnet/csharp/的内容,在尽量不修改程序前提下,没有操作意义!
2)参考其他处理办法:
(1)右键项目—》管理nuget程序包–》更新 Microsoft.Net.Compilers,对我的环境无效,不能更新。
(2)如果此上述方法不行,则需要右键项目–》属性–》生成–》高级–》语言版本选择你配置文件所对应的版本。此方法也对我的环境无效,语言版本下,为默认按照框架自动选择,灰色无法下拉,懒得去处理这个了。
5、问题的处理:
1)原因:各种研究之后,发现这不是框架问题,是因为选择c# 语法版本,与你使用的IDE版本或应用框架不支持编译该C# 。也就是说:开发环境不一样。
2)处理:按照简单直接的方法——可以修改配置文件,如果是*.net,在*.config,如果是桌面应用程序,在*.config,找到这样一条:
<PropertyGroup>
<LangVersion>11.0</LangVersion>
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
</PropertyGroup>
或者
compilerOptions=”/langversion:11.0
把11.0改成正确的版本或default,应该就可以了。
如果 .config里面没有相关内容,打开项目文件.csproj,在里面寻找并修改。
6、验证:
我的在项目文件*.csproj文件里面,内容为
11.0
修改为
default
即
<PropertyGroup>
<LangVersion>default</LangVersion>
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
</PropertyGroup>
修改后,编译OK了