My response is late. My solution has a simple .NET Core console application ConsoleAppCore.csproj
. I used Visual Studio IDE
to generate a publish profile with the name FolderProfile.pubxml
and then the following commands worked for me:
Relative path - From the solution root
dotnet publish ConsoleAppCoreConsoleAppCore.csproj /p:PublishProfile=ConsoleAppCorePropertiesPublishProfilesFolderProfile.pubxml
Absolute path - From any location
dotnet publish "C:workConsoleAppCoreConsoleAppCore.csproj" "/p:PublishProfile=C:workConsoleAppCorePropertiesPublishProfilesFolderProfile.pubxml"
On Azure dev ops
Task name=.NET Core
Task version=2
Command=publish
Path to projects=I left this empty
Arguments=
$(System.DefaultWorkingDirectory)ConsoleAppCoreConsoleAppCore.csproj /p:PublishProfile=$(System.DefaultWorkingDirectory)ConsoleAppCorePropertiesPublishProfilesFolderProfile.pubxml --configuration $(BuildConfiguration) --output $(Build.ArtifactStagingDirectory)ConsoleAppCore-Publish
In the Azure Dev Ops build pipeline scenario, I have redirected the output to a folder under $(Build.ArtifactStagingDirectory)
. I also have a Publish Artifact task which is configured to use the staging directory variable.
I have made use of the publish profile XML file because I wanted a single file to govern the complete behavior while on Azure Devops. Relying on a single file for all parameters simplifies management on Azure.
Azure Dev ops - Artifacts Explorer
The Publish Artifact
task created a drop for me and this is how it looks. Please notice that the file name in the explorer tallies with the name specified along with the --output
option in the dotnet publish
task
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…