Niedawno mieliśmy wizytę kontrahenta, który zakwestionował naszą metodologię strukturyzacji projektów. Pamiętaj, że mam na myśli zwłaszcza strukturę katalogów. Zasugerował użycie wytycznych Microsoft. Myślałem, że będę w stanie znaleźć w Google „strukturę katalogów projektu .NET dla wytycznych Microsoft” i znaleźć coś pomocnego, ale okazało się, że tak nie jest. W tej chwili robimy coś takiego:
[Company.System.Feature]
|-doc
|Sandcastle project
|-lib
|Nuget packages
|-src
|-Project1 e.g. web
|-Project2 e.g. business logic
|-UnittestProject1
|-Specs
Folder doc zawiera rozwiązanie Sandcastle, takie jak opisane tutaj: https://www.codeproject.com/Articles/15176/Sandcastle-Help-File-Builder (patrz: ścieżki bezwzględne i względne). Dlatego folder doc zawiera folder Pomocy, który zawiera wygenerowany plik pomocy. Folder lib zawiera wszystkie pakiety Nuget.
Czy istnieją jakieś wytyczne firmy Microsoft, które zalecają tworzenie struktury rozwiązania? Szukałem tutaj: /programming/789389/project-structure-for-c-sharp-development-effort/789554?noredirect=1#comment86756309_789554 między innymi miejscami. Większość artykułów i pytań, które przeczytałam, wydaje się być tworzona w latach 2007-2009. Wierzę, że Nuget został wprowadzony w 2010 roku. Czy istnieją jakieś wytyczne Microsoft? Czytałem o czymś zwanym Tree Surgeon, jednak wydaje się, że już nie istnieje: https://archive.codeplex.com/?p=treesurgeon .
Używam TFS; Tempomat i DDD mają znaczenie.
źródło
packages
do projektów dotnetcore i VS2017. Teraz mieszkają wobj
katalogach projektów .Odpowiedzi:
W witrynie MSDN istnieje kilka bardzo starych oficjalnych wytycznych . Te są jednak nieaktualne. Jak mówi strona: „ Ta treść jest przestarzała i nie jest już utrzymywana. Jest udostępniana jako uprzejmość dla osób, które nadal korzystają z tych technologii ” . Zalecam więc unikanie tych wytycznych.
Podjęto próbę zdefiniowania wspólnej struktury rozwiązania za pośrednictwem Project Scaffold . Jest to jednak bardziej zorientowane na F # niż na C #. Jednak tak naprawdę nie wystartował i obecnie niewiele jest oznak rozwoju pomysłów.
Najbardziej aktywny i aktualny zestaw wytycznych jest utrzymywany przez Davida Fowlera, który jest programistą w firmie Microsoft w zespole ASP.NET. Z tych wytycznych korzysta wiele osób w firmie Microsoft, w tym zespoły Roslyn (kompilator C # i VB.Net). Dlatego możesz zrobić o wiele gorzej niż przyjąć takie podejście.
źródło