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