Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

I'm trying to call "dotnet publish" with a specific publish profile pubxml file as documented here :

https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/visual-studio-publish-profiles?view=aspnetcore-2.1&tabs=aspnetcore2x

However, everything I try seems to result in the default behaviour, and the /p:PublishProfile part is ignored.

dotnet publish /p:PublishProfile="MyFolderProfile"

Doesn't work, and logs no error, building to the default location under "/obj".

I do note that an intentionally incorrect command has the same result though, eg:

dotnet publish /p:PublishProfile="MyFolderProfile-XXXXX"

What am I doing wrong? - Any pointers would be greatly appreciated!

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
458 views
Welcome To Ask or Share your Answers For Others

1 Answer

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 enter image description here


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...