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

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.
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.

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