I am working with an older code and attempting to build an ASP.NET website (no .csproj files).
I've created an pipeline for ASP.NET added some tasks to my .yml:
# ASP.NET
# Build and test ASP.NET projects.
# Add steps that publish symbols, save build artifacts, deploy, and more:
# https://learn.microsoft.com/azure/devops/pipelines/apps/aspnet/build-aspnet-4
trigger:
- master
pool:
vmImage: 'windows-latest'
variables:
solution: '**/*.sln'
buildPlatform: 'Any CPU'
buildConfiguration: 'Release'
steps:
- task: NuGetToolInstaller@1
- task: NuGetCommand@2
inputs:
restoreSolution: '$(solution)'
- task: VSBuild@1
inputs:
solution: '$(solution)'
msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactStagingDirectory)"'
platform: '$(buildPlatform)'
configuration: '$(buildConfiguration)'
- task: VSTest@2
inputs:
platform: '$(buildPlatform)'
configuration: '$(buildConfiguration)'
- task: PublishPipelineArtifact@1
inputs:
targetPath: '$(Pipeline.Workspace)'
artifact: 'drop'
publishLocation: 'pipeline'
However, when I run the pipeline, it fails on the VSBuild task:
The problem appears to be on line 18 where the -p ..\BOMViewer\
is specifying a directory that doesn't exist.
I may need to follow DJ Grossman's solution later: Can Azure DevOps Pipelines build an ASP.NET Web Site?
But for now, how can I specify -p \BOMViewer
instead of the above?
*Update
I changed solution to .publishproj from .sln in my YAML per @YashGupta suggestion. But VSBuild doesn't like the change:
Final
My .gitignore was ignoring the .publishproj file. Changed that and it worked like charm, per @YashGupta's answer below.