I have a project that I would like to turn into a NuGet package in an Azure DevOps CI build. The relevant files in the solution look like this:
/
RandExp.sln
/RandExp
RandExp.fsproj
/Tests
Tests.fsproj
I have an azure-pipelines.yml file like so:
trigger:
- ci
pool:
vmImage: "ubuntu-latest"
variables:
buildConfiguration: "Release"
steps:
- task: GitVersion@5
inputs:
runtime: 'core'
updateAssemblyInfo: true
- task: DotNetCoreCLI@2
displayName: "DotNet restore"
inputs:
command: 'restore'
- task: DotNetCoreCLI@2
displayName: "DotNet build $(buildConfiguration)"
inputs:
command: 'build'
arguments: '--configuration $(buildConfiguration) --no-restore'
- task: DotNetCoreCLI@2
displayName: "DotNet test ($(buildConfiguration))"
inputs:
command: test
arguments: '--configuration $(buildConfiguration)'
- task: DotNetCoreCLI@2
displayName: "DotNet pack"
inputs:
command: 'pack'
nobuild: true
versioningScheme: 'byBuildNumber'
- task: DotNetCoreCLI@2
displayName: "DotNet push"
inputs:
command: 'push'
packagesToPush: '$(Build.ArtifactStagingDirectory)/*.nupkg'
nuGetFeedType: 'external'
publishFeedCredentials: 'Public Nuget'
Everything runs fine up until the penultimate task: DotNet pack. It errors with [error]No files matched the search pattern:
Starting: DotNet pack
==============================================================================
Task : .NET Core
Description : Build, test, package, or publish a dotnet application, or run a custom dotnet command
Version : 2.175.0
Author : Microsoft Corporation
Help : https://docs.microsoft.com/azure/devops/pipelines/tasks/build/dotnet-core-cli
==============================================================================
##[error]No files matched the search pattern.
Info: Azure Pipelines hosted agents have been updated to contain .Net Core 3.x (3.1) SDK/Runtime along with 2.1. Unless you have locked down a SDK version for your project(s), 3.x SDK might be picked up which might have breaking behavior as compared to previous versions.
Some commonly encountered changes are:
If you're using `Publish` command with -o or --Output argument, you will see that the output folder is now being created at root directory rather than Project File's directory. To learn about more such changes and troubleshoot, refer here: https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/build/dotnet-core-cli?view=azure-devops#troubleshooting
Finishing: DotNet pack
I've been banging my head against the wall with this one for hours; I've tried everything I can think of but cannot get anything out of this task except the same error and have now given up.
It's worth mentioning that on my machine I can cd into the root of my solution and run dotnet pack and it works, generating exactly the nupkg I expect it to.