Azure Devops Pipeline在Pipeline构建中获得`default literal`错误

问题描述 投票:0回答:1

我有一个标准的管道代理程序,只要拉取请求合并到主服务器,它就适用于CI。它工作正常,直到我合并了由visual-studio-2019开发的分支创建的拉取请求。现在我来了

错误CS8107:功能'默认文字'在C#7.0中不可用。请使用语言版本7.1或更高版本。

当我用vs2017推送任何更改时它工作正常。

我该怎么做才能避免这个错误?

P.S:我想继续使用vs2019

提前致谢。

azure-devops continuous-integration azure-pipelines visual-studio-2019
1个回答
4
投票

当您拥有如下代码时会发生这种情况:

MyType foo = default; // assign the default value for this type

在C#7中,支持的语法是:

MyType foo = default(MyType);

但更简单的形式是added in 7.1

有两种方法可以解决这个问题:

  1. 不要使用较新的表格。将default的任何现有实例更改为具有类型,并更改设置,以便IDE优先使用详细形式。这是打开新表单的图片,只需将Yes更改为No:Tools->Options setting for 'default' expression如果您使用的是.editorconfig文件,则可以配置csharp_prefer_simple_default_expression设置。
  2. language version for your project设置得足够高以支持新语法。请记住,如果将其设置为latest,则可能在开发框(VS2019)和构建代理程序之间使用不同的版本(例如,可能仍在VS2017上)。
© www.soinside.com 2019 - 2024. All rights reserved.