В зависимости от размера отдельных проектов я бы использовал единое решение для всех проектов. Я никогда не ставил проекты внутри папок решений, резервировал их для общих сборок, читал файлы и т. Д.
Я предлагаю создать SolutionInfo.cs в папке Solution Items и добавить ссылку на это во всех ваших проектах. Затем вы можете удалить большинство атрибутов сборки в файлах AssemblyInfo.cs. У меня есть только 3 атрибута в AssemblyInfo: AssemblyTitle, AssemblyDescription, Guid. Другие свойства распределяются между всеми моими проектами.
Наличие всех проектов в одном и том же решении гарантирует наличие правильных пространств имен и отсутствие конфликтов между различными реализациями клиента.
Назовите свои проекты в соответствии с пространствами имен, например, если ваш проект называется «Спорт», затем назовите решение «Спорт», разделяемую библиотеку для «Sport.Common», «Sport.Web» и т. Д. ,
Я только начинаю рассматривать разделяющие проекты в нескольких решениях, когда у меня возникают проблемы с производительностью, когда сбор занимает много времени. Наличие всего в одном решении упрощает управление, особенно если вы используете систему управления версиями.
У меня возникла проблема с этой конфигурацией. Если вы добавите ссылку на проект в том же решении, а затем поместите указанный проект ALSO в другое решение ... Ссылка на проект в первом решении будет нарушена. Это то, что случилось со мной. (VS 2008) –
У меня никогда не было таких проблем. – GvS
Я согласен с @GvS, у меня никогда не было проблемы с повреждением проекта, который был размещен в нескольких решениях. – kenny