Recentemente, tivemos uma visita de empreiteiro que questionou nossa metodologia de estruturação de projetos. Observe que estou me referindo especificamente à estrutura de diretórios. Ele sugeriu o uso das diretrizes da Microsoft. Eu pensei que seria capaz de pesquisar no Google "estrutura de diretórios do projeto .NET das diretrizes da Microsoft" e encontrar algo útil, mas isso não provou ser esse o caso. Tal como está, fazemos algo parecido com isto:
[Company.System.Feature]
|-doc
|Sandcastle project
|-lib
|Nuget packages
|-src
|-Project1 e.g. web
|-Project2 e.g. business logic
|-UnittestProject1
|-Specs
A pasta doc contém uma solução Sandcastle como a descrita aqui: https://www.codeproject.com/Articles/15176/Sandcastle-Help-File-Builder (consulte: caminhos absolutos e relativos). Portanto, a pasta doc contém uma pasta Help, que contém o arquivo de ajuda gerado. A pasta lib contém todos os pacotes Nuget.
Existem diretrizes da Microsoft que recomendam como estruturar uma solução? Eu procurei aqui: /programming/789389/project-structure-for-c-sharp-development-effort/789554?noredirect=1#comment86756309_789554 entre outros lugares. A maioria dos artigos e perguntas que li parecem ter sido criados em 2007-2009. Acredito que o Nuget foi introduzido em 2010. Existem diretrizes da Microsoft? Eu li sobre algo chamado Tree Surgeon, no entanto, isso parece não existir mais: https://archive.codeplex.com/?p=treesurgeon .
Eu estou usando o TFS; Cruise Control e DDD é que faz alguma diferença.
packages
mais, para projetos no estilo dotnetcore e VS2017. Eles agora vivem nos obj
diretórios dos projetos .