Azure Devops 发布管道无法采用最新的 C# 版本

use*_*747 5 azure-devops azure-pipelines

我有一个控制台应用程序,它有异步调用,例如 main 方法的签名看起来像这样

static async Task MainAsync(string[] args)
{

}
Run Code Online (Sandbox Code Playgroud)

我能够在我的本地机器上编译构建。但是我有一个VSTS (DevOps Azure) CI/CD管道,我在那台机器上使用自定义托管代理,一旦 CI 执行它就会给出错误:

##[error]CSC(0,0):错误 CS5001:程序不包含适合入口点的静态“Main”方法

小智 5

我通过强制用户代理使用 VS2017 使其工作。单击阶段 1,然后将其更改为以下内容: HostedVS2017

这迫使用户代理使用 2017 年,它具有最新版本的 C# 而不是 2015 年(它对我来说回落到了)。


Jee*_*raj 3

您可以尝试在发布模式下构建本地代码,看看是否遇到同样的问题。

确保将 C# 7.1 添加到任何 CPU 和版本属性组。

  • 右键单击您的项目,单击属性

  • 如果尚未选择,请单击“构建”

  • 将配置更改为所有配置

  • 单击高级...

  • 更改语言版本

请参阅 github 中的此问题以获取更多详细信息。

https://github.com/dotnet/roslyn/issues/21783