Nous avons eu récemment une visite d'entrepreneur qui a remis en question notre méthodologie de structuration des projets. Veuillez noter que je fais spécifiquement référence à la structure du répertoire. Il a suggéré d'utiliser les directives de Microsoft. Je pensais que je serais en mesure de Google "Microsoft directives structure de répertoire de projet .NET" et trouver quelque chose d'utile, mais cela s'est avéré ne pas être le cas. En l'état, nous faisons quelque chose comme ceci:
[Company.System.Feature]
|-doc
|Sandcastle project
|-lib
|Nuget packages
|-src
|-Project1 e.g. web
|-Project2 e.g. business logic
|-UnittestProject1
|-Specs
Le dossier doc contient une solution Sandcastle comme celle décrite ici: https://www.codeproject.com/Articles/15176/Sandcastle-Help-File-Builder (voir: chemins absolus et relatifs). Par conséquent, le dossier doc contient un dossier d'aide, qui contient le fichier d'aide généré. Le dossier lib contient tous les packages Nuget.
Existe-t-il des directives Microsoft qui recommandent comment structurer une solution? J'ai regardé ici: /programming/789389/project-structure-for-c-sharp-development-effort/789554?noredirect=1#comment86756309_789554 entre autres endroits. La plupart des articles et des questions que j'ai lus semblent avoir été créés en 2007-2009. Je crois que Nuget a été introduit en 2010. Existe-t-il des directives Microsoft? J'ai lu quelque chose sur Tree Surgeon, mais cela ne semble plus exister: https://archive.codeplex.com/?p=treesurgeon .
J'utilise TFS; Le régulateur de vitesse et le DDD font toute la différence.
la source
packages
plus, pour les projets de style dotnetcore et VS2017. Ils vivent désormais dans lesobj
répertoires des projets .Réponses:
Sur MSDN, il existe de très anciennes directives officielles . Celles-ci sont cependant obsolètes. Comme le dit la page, " Ce contenu est obsolète et n'est plus maintenu. Il est fourni à titre gracieux pour les personnes qui utilisent encore ces technologies. " Je vous recommande donc d'éviter ces directives.
On a tenté de définir une structure de solution commune via Project Scaffold . Ceci est plus orienté vers F # que vers C #. Cela n'a pas vraiment décollé cependant et il y a peu de signes de développement des idées ces jours-ci.
L'ensemble de directives le plus actif et le plus à jour est géré par David Fowler, développeur chez Microsoft au sein de l'équipe ASP.NET. Ces lignes directrices sont utilisées par de nombreuses personnes au sein de Microsoft, y compris les équipes Roslyn (le compilateur C # et VB.Net). Vous pourriez donc faire bien pire que d'adopter cette approche.
la source