Azure DevOps Pipeline Program 不包含适合入口点的静态 'Main' 方法

Azure DevOps Pipeline Program does not contain a static 'Main' method suitable for an entry point

我收到错误消息“程序不包含适合入口点的静态 'Main' 方法 " 在我的 Azure DevOps 管道中。

下面是我的构建步骤。

stages:
- stage: Build
  displayName: Build stage

  jobs:
  - job: Build
    displayName: Build
    condition: ne(variables['Build.Reason'], 'PullRequest')
    pool:
      vmImage: $(vmImageName)

    steps:
    - task: DotNetCoreCLI@2
      displayName: Build
      inputs:
        command: 'build'
        arguments: --output $(System.DefaultWorkingDirectory) --configuration $(buildConfiguration)
    - task: DotNetCoreCLI@2
      inputs:
        command: publish
        publishWebProjects: true
        arguments: '--configuration $(BuildConfiguration) --output $(Build.ArtifactsStagingDirectory)/$(Build.BuildId).zip'
        zipAfterPublish: true
    - task: PublishBuildArtifacts@1
      inputs:
        PathtoPublish: $(Build.ArtifactsStagingDirectory)/$(Build.BuildId).zip
        ArtifactName: drop

请注意,这不是我的完整管道,因为错误是在步骤构建时出现的,我只粘贴它。

摸索了一会儿,基本上遍历了管道中的每一行,我终于解决了这个问题。这是构建目录的问题。我不得不使用 arguments: --output $(System.DefaultWorkingDirectory)/publish_output --configuration $(buildConfiguration) 而不是 arguments: --output $(System.DefaultWorkingDirectory) --configuration $(buildConfiguration),这样最终的输出将保存在 publish_output 文件夹中。

stages:
- stage: Build
  displayName: Build stage

  jobs:
  - job: Build
    displayName: Build
    condition: ne(variables['Build.Reason'], 'PullRequest')
    pool:
      vmImage: $(vmImageName)

    steps:
    - task: DotNetCoreCLI@2
      displayName: Build
      inputs:
        command: 'build'
        arguments: --output $(System.DefaultWorkingDirectory)/publish_output --configuration $(buildConfiguration)
    - task: DotNetCoreCLI@2
      inputs:
        command: publish
        publishWebProjects: true
        arguments: '--configuration $(BuildConfiguration) --output $(Build.ArtifactsStagingDirectory)/$(Build.BuildId).zip'
        zipAfterPublish: true
    - task: PublishBuildArtifacts@1
      inputs:
        PathtoPublish: $(Build.ArtifactsStagingDirectory)/$(Build.BuildId).zip
        ArtifactName: drop

经过这次修改,我的流水线成功了。