Недавно мы посетили подрядчика, который поставил под сомнение нашу методологию структурирования проектов. Обратите внимание, что я специально имею в виду структуру каталогов. Он предложил использовать рекомендации Microsoft. Я подумал, что смогу найти в Google «структуру директорий Microsoft .NET Project каталогов» и найти что-то полезное, однако это оказалось не так. В таком виде мы делаем что-то вроде этого:
[Company.System.Feature]
|-doc
|Sandcastle project
|-lib
|Nuget packages
|-src
|-Project1 e.g. web
|-Project2 e.g. business logic
|-UnittestProject1
|-Specs
Папка doc содержит решение Sandcastle, подобное описанному здесь: https://www.codeproject.com/Articles/15176/Sandcastle-Help-File-Builder (см. Абсолютные и относительные пути). Поэтому папка doc содержит папку Help, в которой содержится сгенерированный файл справки. Папка lib содержит все пакеты Nuget.
Существуют ли какие-либо рекомендации Microsoft, в которых рекомендуется, как структурировать решение? Я посмотрел здесь: /programming/789389/project-structure-for-c-sharp-development-effort/789554?noredirect=1#comment86756309_789554 среди других мест. Кажется, что большинство статей и вопросов, которые я прочитал, созданы в 2007-2009 гг. Я считаю, что Nuget был представлен в 2010 году. Существуют ли какие-либо рекомендации Microsoft? Я читал о чем-то, что называется Tree Surgeon, но, похоже, этого больше не существует: https://archive.codeplex.com/?p=treesurgeon .
Я использую TFS; Круиз-контроль и DDD это то, что имеет значение.
packages
, для проектов в стиле dotnetcore и VS2017. Сейчас они живут в obj
каталогах проектов .