A few years back, David Fowler (from the ASP.NET team) proposed a standard project layout for .NET projects. It has slowly been gathering popularity since then. I propose that the .NET community should rally around this layout and use it for all appropriate projects moving forward.
The proposed layout is as follows:
$/ artifacts/ build/ docs/ lib/ packages/ samples/ src/ tests/ .editorconfig .gitignore .gitattributes build.cmd build.sh LICENSE NuGet.Config README.md {solution}.sln
The directories are used for the following purposes:
/src
- The main projects / the product code./tests
- The test projects./docs
- Documentation files, help files, etc./samples
- Sample projects, usage examples, etc./lib
- Libraries (and similar) that can't ever exist in a nuget package./artifacts
- Build output. Running the build scripts should generate artifacts here./build
- Build scripts, etc.
When you're next deciding how to structure your .NET projects, please strongly consider using this layout.
https://www.mking.net/blog/dotnet-project-layout
No comments:
Post a Comment