【问题标题】:Azure Devops Pipeline getting `default literal` error on Pipeline buildAzure Devops Pipeline 在管道构建中出现“默认文字”错误
【发布时间】:2019-04-19 08:29:09
【问题描述】:

每当拉取请求合并到主服务器时,我都有一个标准管道代理,它适用于 CI。在我合并由 visual-studio-2019 开发的分支创建的拉取请求之前,它工作正常。现在我得到了

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

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

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

P.S:我想继续使用 vs2019

提前致谢。

【问题讨论】:

    标签: azure-devops continuous-integration azure-pipelines visual-studio-2019


    【解决方案1】:

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

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

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

    MyType foo = default(MyType);

    但更简单的形式是added in 7.1

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

    1. 不要使用较新的表格。将default 的任何现有实例更改为具有类型,并更改设置以使IDE 更喜欢详细形式。这是打开新表单的图片,只需将“是”更改为“否”: 如果您使用 .editorconfig 文件,则可以配置 csharp_prefer_simple_default_expression 设置。
    2. language version for your project 设置为足够高以支持新语法。请记住,如果您将其设置为 latest,它可能在您的开发盒 (VS2019) 和构建代理之间使用不同的版本(例如,可能仍在 VS2017 上)。

    【讨论】:

      【解决方案2】:

      我刚刚通过在构建管道中更新我的代理池以使用“Hosted Windows 2019 with VS2019”解决了这个问题

      【讨论】:

        猜你喜欢
        • 2021-01-21
        • 1970-01-01
        • 1970-01-01
        • 2022-11-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-01-30
        • 1970-01-01
        相关资源
        最近更新 更多