Enable "Artifacts Output Layout". #297
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The .NET 8 SDK adds support for "Artifacts Output Layout", which moves the per-project support folders like
bin/andobj/to a common location outside of the project folders, as well as adjusting naming conventions around Configuration (Release, Debug...) and Target Framework Monikers (net8.0, ...).Although the feature arrives in the .NET 8 SDK, it works for projects that target older frameworks, so this is appropriate even before the upcoming phasing-out of old frameworks.
We enable the feature, simplify
.gitignore, and visit all hardcoded paths affected by the move.Additionally, since this creates some ambiguity of purpose between the new
src/artifacts/folder and our rootartifactsfolder where packages are output during CI builds, we rename that root folder to the more accurate namepackages.There was some risk that this feature would thwart old naive assumptions about build output paths with respect to their associated project code folder, but after testing console and IDE runs it appears we were already being defensive about the possibilities of custom OutputPath in any end user solution.