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.
fonte
packages
mais, para projetos no estilo dotnetcore e VS2017. Eles agora vivem nosobj
diretórios dos projetos .Respostas:
No MSDN, existem algumas diretrizes oficiais muito antigas . Estes estão desatualizados. Como a página diz: " Este conteúdo está desatualizado e não está mais sendo mantido. É fornecido como cortesia para as pessoas que ainda estão usando essas tecnologias " . Portanto, recomendo que você evite essas diretrizes.
Houve uma tentativa de definir uma estrutura de solução comum por meio do Project Scaffold . Isso é mais orientado para o F #, em vez do C #. Na verdade, não decolou e há poucos sinais de desenvolvimento das idéias nos dias de hoje.
O conjunto de diretrizes mais ativo e atualizado é mantido por David Fowler, desenvolvedor da Microsoft na equipe do ASP.NET. Essas diretrizes são usadas por muitos na Microsoft, incluindo as equipes do Roslyn (o compilador C # e VB.Net). Você poderia fazer muito pior do que adotar essa abordagem, portanto.
fonte