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
?
Asked
Active
Viewed 1,229 times
0

Ben Rubin
- 6,909
- 7
- 35
- 82
2 Answers
3
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.

Nan Yu
- 26,101
- 9
- 68
- 148
1
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)

Peter Widmer
- 122
- 10