Estrutura de diretórios para uma solução .NET

6

Tivemos recentemente uma visita a um contratado que questionou nossa metodologia de estruturação de projetos. Por favor, note que estou me referindo especificamente à estrutura do diretório. Ele sugeriu o uso das diretrizes da Microsoft. Eu pensei que seria capaz de Google "diretrizes Microsoft estrutura de projeto do projeto .NET" e encontrar algo útil, no entanto, isso provou não ser o caso. Atualmente, fazemos algo assim:

[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: link ( veja: caminhos absolutos e relativos). Portanto, a pasta doc contém uma pasta de Ajuda, que contém o arquivo de ajuda gerado. A pasta lib contém todos os pacotes Nuget.

Existe alguma diretriz da Microsoft, que recomenda como estruturar uma solução? Eu olhei aqui: link entre outros lugares. A maioria dos artigos e perguntas que li parecem ser criados em 2007-2009. Eu acredito que o Nuget foi introduzido em 2010. Existem algumas diretrizes da Microsoft? Eu li sobre algo chamado Tree Surgeon, no entanto, isso não parece existir mais: link .

Estou usando o TFS; Cruise Control e DDD é o que faz alguma diferença.

    
por w0051977 17.04.2018 / 15:33
fonte

1 resposta

7

Na MSDN, existem algumas diretrizes oficiais muito antigas . Estes estão desatualizados embora. Como diz a página, " Este conteúdo está desatualizado e não está mais sendo mantido. É fornecido como uma cortesia para indivíduos 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 Scaffold do projeto . Isso é mais orientado em direção a F #, em vez de C #. Isso não decolou, e há poucos sinais de desenvolvimento das ideias nos dias de hoje.

O mais ativo e atualizado conjunto de diretrizes é mantido por David Fowler, que é desenvolvedor da Microsoft em a equipe do ASP.NET. Essas diretrizes são usadas por muitos dentro da Microsoft, incluindo as equipes Roslyn (o compilador C # e VB.Net). Você poderia fazer muito pior do que adotar essa abordagem, portanto.

    
por 17.04.2018 / 15:56
fonte