Ben Rubin
Ben Rubin

Reputation: 7331

dotnet publish -o published is created nested directories with each publish

I have an ASP Core project named MyProject that I'm trying to publish to the directory MyProject\published. I run dotnet publish -o published. This works correctly the first time. However, the second time that I run this, the files get published to MyProject\published\published. The third time it gets published to MyProject\published\published\published, and so on. Why does each subsequent publish create one more nested directory, rather than just overwriting MyProject\published?

Upvotes: 1

Views: 2115

Answers (2)

Peter Widmer
Peter Widmer

Reputation: 132

This is now mentioned officially in the documentation: https://learn.microsoft.com/en-us/dotnet/core/tools/dotnet-publish

First, delete your current bin/release-folder (otherwise it won't work!). Then you can add

<DefaultItemExcludes>$(DefaultItemExcludes);publish**</DefaultItemExcludes>

to a PropertyGroup element in the .csproj file. The above example assumes, the publish-folder is named publish (please change it if necessary)

Upvotes: 1

Nan Yu
Nan Yu

Reputation: 27528

That seems is a known issue about dotnet sdk :

https://github.com/dotnet/sdk/issues/377

https://github.com/dotnet/cli/issues/2855

The current alternatives appear to be manually deleting stale files or adding custom tasks for cleanups.

Upvotes: 3

Related Questions