Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

I am getting an error as "Program does not contain a static 'Main' method suitable for an entry point " in my Azure DevOps pipeline.

enter image description here

And below is my build step.

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

Please be noted that this is not my complete pipeline, as the error is with the step build, I am pasting only that.

like image 534
Sibeesh Venu Avatar asked Feb 03 '26 10:02

Sibeesh Venu


1 Answers

After scratching my head for a while, basically going through each line in the pipeline, I was able to fix this problem. It was an issue with the build directory. Instead of arguments: --output $(System.DefaultWorkingDirectory) --configuration $(buildConfiguration), I had to use arguments: --output $(System.DefaultWorkingDirectory)/publish_output --configuration $(buildConfiguration) so that the final output will be saved inside the publish_output folder.

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

After this change, my pipeline was successful.

enter image description here

like image 154
Sibeesh Venu Avatar answered Feb 06 '26 03:02

Sibeesh Venu



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!