У меня есть решение Visual Studio 2008 s > 40 С# и С++/CLI проектами, которые зависят друг от друга. Работа с этим решением довольно медленная, и обычно мне нужно всего несколько проектов за раз. Поэтому я решил разделить решение на несколько решений, содержащих 3-5 проектов. Я также хотел бы сохранить "полное" решение со всеми проектами (он удобен для автоматизированных сборок или для больших действий по рефакторингу, которые влияют на все проекты). (Это основное условие здесь. В противном случае разделение проекты в решения тривиальны, конечно.)
Есть ли способ сделать это?
Моя первая идея заключалась в создании новых пустых решений и добавлении некоторых из существующих файлов проектов в каждое из этих решений. Но если я это сделаю, VS больше не сможет найти ссылки на проект (потому что они не в одном решении). Я могу добавить ссылки как "нормальные" ссылки на файлы. Но если я это сделаю, мое "полное" решение больше не работает, потому что зависимости потеряны.
EDIT:
Спасибо всем за ваши ответы. Я хотел бы немного уточнить свой вопрос: мое решение содержит 44 проекта, не считая тестов. Так что разбить его на 2 части - это не то, что я имел в виду, я больше думал о 5-8 частях. Поэтому я хотел бы сохранить "полное" решение, в котором VS может определить правильный порядок сборки для полной сборки. Поддержание порядка сборки для 8 отдельных решений вручную (например, в пакетном файле) кажется мне уязвимым.
Также я хотел бы сгруппировать проекты "логически" (т.е. я хотел бы иметь проекты, которые обычно изменяются вместе в одном решении). Но эта группировка не всегда соответствует зависимостям. Например, представьте, что у меня есть цепочка зависимостей
A is referenced by B is referenced by C is referenced by D
и представьте, что A и D часто изменяются вместе, но B и C редко меняются. (Очевидно, что интерфейс A, который используется B, для этого не должен оставаться неизменным.) Тогда я хотел бы иметь A и D в одном решении, B и C в другом. Но это будет работать только в том случае, если я смогу иметь неповрежденное "полное" решение, содержащее A, B, C и D, если я хочу построить все проекты с нуля. Как только эта сборка будет завершена, я смогу открыть свое A/D-решение и отредактировать/построить только те 2 проекта.
Но я боюсь, что для моей проблемы нет элегантного решения. (каламбур не предназначен)