c# - C# 7.3 中不提供“使用声明”功能。请使用语言版本 8.0 或更高版本 - 在一台机器上出错,但在另一台机器上工作
问题描述
在两台不同的机器上使用Visual Studio Enterprise 16.3.7
时,一台构建良好,另一台机器抛出错误:
C# 7.3 中不提供“使用声明”功能。请使用 8.0 或更高版本的语言。
这可以通过按照此处建议的设置https://stackoverflow.com/a/48085575/3850405LangVersion
在无工作机器上轻松解决,或者让 Visual Studio 像上面的打印屏幕一样自动修复它。.csproj
<LangVersion>8.0</LangVersion>
我无法理解的是为什么一台机器在没有这条线的情况下可以正常构建而.csproj
另一台机器需要它?
解决方案
我收到了同样的错误,但我只是忘记包含
<LangVersion>8.0</LangVersion>
解决方案中所有.csproj 文件中的属性。以下是我当前的 c# 8 设置:
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<LangVersion>8.0</LangVersion>
<Nullable>enable</Nullable>
<NullableContextOptions>enable</NullableContextOptions>
</PropertyGroup>
我发现以下文档在从核心 2.2 迁移到 3.x 时最有帮助:
推荐阅读
- php - 将变量名称和结果保存到字符串中,拆分和比较 - 但不起作用
- python - 在python中理解(|)正则表达式
- c++ - 计算不包括最后得分的平均值
- powershell - 使用文件名查找和替换某些字符之间的文本
- html - 无法在包含 HTML 的 django 模板中呈现变量
- javascript - 在输入字段中输入内容时在选择框中缩进文本
- java - 安全消息通信 Java
- amazon-product-api - 亚马逊产品 API:缺少来自亚马逊的优惠
- svg - 测量生成的 svg 服务器端
- xcode - 在 Mojave 10.14.1 完整版中上传到 App Store Connect 时出错