Recientemente tuvimos una visita de contratista que cuestionó nuestra metodología de estructuración de proyectos. Tenga en cuenta que me estoy refiriendo específicamente a la estructura del directorio. Sugirió usar las pautas de Microsoft. Pensé que sería capaz de buscar en Google "la estructura de directorios del proyecto .NET de las directrices de Microsoft" y encontrar algo útil, sin embargo, esto ha demostrado no ser el caso. Tal como están las cosas, hacemos algo como esto:
[Company.System.Feature]
|-doc
|Sandcastle project
|-lib
|Nuget packages
|-src
|-Project1 e.g. web
|-Project2 e.g. business logic
|-UnittestProject1
|-Specs
La carpeta doc contiene una solución de Sandcastle como la que se describe aquí: https://www.codeproject.com/Articles/15176/Sandcastle-Help-File-Builder (ver: rutas absolutas y relativas). Por lo tanto, la carpeta doc contiene una carpeta de Ayuda, que contiene el archivo de ayuda generado. La carpeta lib contiene todos los paquetes Nuget.
¿Hay alguna directriz de Microsoft que recomiende cómo estructurar una solución? He buscado aquí: /programming/789389/project-structure-for-c-sharp-development-effort/789554?noredirect=1#comment86756309_789554 entre otros lugares. La mayoría de los artículos y preguntas que he leído parecen haber sido creados entre 2007 y 2009. Creo que Nuget se introdujo en 2010. ¿Hay alguna guía de Microsoft? Leí sobre algo llamado Tree Surgeon, sin embargo, esto ya no parece existir: https://archive.codeplex.com/?p=treesurgeon .
Estoy usando TFS; Control de crucero y DDD es lo que hace la diferencia.
fuente
packages
proyectos dotnetcore y VS2017. Ahora viven en losobj
directorios de los proyectos .Respuestas:
En MSDN, hay algunas pautas oficiales muy antiguas . Sin embargo, estos están desactualizados. Como dice la página, " Este contenido está desactualizado y ya no se mantiene. Se proporciona como cortesía para las personas que todavía usan estas tecnologías " . Por lo tanto, le recomiendo que evite estas pautas.
Hubo un intento de definir una estructura de solución común a través de Project Scaffold . Sin embargo, esto está más orientado hacia F #, en lugar de C #. Sin embargo, realmente no despegó y hay pocas señales de desarrollo de las ideas en estos días.
El conjunto de directrices más activo y actualizado lo mantiene David Fowler, desarrollador de Microsoft en el equipo ASP.NET. Muchos utilizan Microsoft estas pautas, incluidos los equipos de Roslyn (el compilador de C # y VB.Net). Por lo tanto, podría hacer mucho peor que adoptar ese enfoque.
fuente