我有一个标准的管道代理,每当拉取请求合并到 master 时,它都适用于 CI。它工作正常,直到我合并了一个由 visual-studio-2019 开发的分支创建的拉取请求。现在我得到
error CS8107: Feature 'default literal' is not available in C# 7.0. Please use language version 7.1 or greater.
当我使用 vs2017 推送任何更改时,它工作正常。
我应该怎么做才能避免这个错误?
P.S:我想继续使用vs2019
提前致谢。
最佳答案
当您有如下代码时会发生这种情况:MyType foo = default; // assign the default value for this type
在 C# 7 中,支持的语法是:MyType foo = default(MyType);
但更简单的形式是 added in 7.1 .
有两种方法可以解决这个问题:
default
的任何现有实例有一个类型,并更改设置,以便 IDE 更喜欢详细形式。这是打开新表单的图片,只需将 Yes 更改为 No:如果你使用 .editorconfig 文件,你可以配置
csharp_prefer_simple_default_expression
环境。 latest
它可能在您的开发箱 (VS2019) 和构建代理之间使用不同的版本(例如,可能仍在 VS2017 上)。 关于azure-devops - Azure Devops 管道在管道构建中出现 `default literal` 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55758863/