Есть ли способ заставить один проект построить другой в Visual Studio? - PullRequest
9 голосов
/ 26 мая 2010

Наконец-то мы работаем над созданием системы контроля версий, и я отвечаю за ее настройку. Я читал, что обычно хорошей практикой является не включать двоичные файлы в систему контроля версий, поэтому я этого не сделал. Тем не менее, у нас есть два универсальных проекта утилит (каждый в своем собственном решении), которые генерируют утилиты .dll, которые включены почти во все другие наши проекты (каждый в своих собственных отдельных решениях). Добавляем ссылки на утилиту dll из наших проектов.

Я бы хотел, чтобы наши решения были настроены таким образом, чтобы, если эталонная dll не была построена, решение создавало dll для себя, во многом так же, как make-файл проверяет свои зависимости и строит их. когда они устарели или пропали без вести.

Я новичок в построении процессов с VS, поэтому постарайтесь, чтобы ответы были простыми. Любые ссылки на общие учебные пособия по обзору процесса сборки тоже будут хорошими. Google для ссылок VS возвращает кучу ссылок для добавления ссылок, что не совсем то, что я хочу.

Ответ: (трехэтапный процесс) Добавьте ссылку на проект, а не двоичную ссылку, щелкнув правой кнопкой мыши решение и добавив существующий проект. Затем на вкладке проекта выберите зависимости проекта и измените проект так, чтобы один проект зависел от другого. Наконец, удалите любую старую ссылку на двоичный файл и заново добавьте ссылку, используя вкладку проекта в диалоговом окне Добавить ссылки.

1 Ответ

7 голосов
/ 26 мая 2010

Там, где я работаю, у нас обычно есть ссылки на проекты, а не двоичные ссылки (как мы привыкли некоторое время назад). Когда вы включаете ссылку на проект, dll будет собираться вместе с остальной частью вашего приложения.

Единственный раз, когда мы возвращаемся к двоичным ссылкам, это когда мы находимся между выпусками Visual Studio (например, 1 проект в 2010 году, а все остальное в 2008 году. Проект 2010 года должен будет использовать двоичную ссылку в течение пары месяцев пока все остальные не догонят ... Несовместимость проекта - это ограничение Visual Studio, которое не должно существовать).

EDIT

Чтобы добавить ссылку на проект, щелкните правой кнопкой мыши решение, нажмите «Добавить» и, наконец, «Существующий проект». Убедитесь, что служебные проекты также находятся под контролем исходного кода, и убедитесь, что рабочие пространства настроены правильно, иначе другие люди не смогут правильно открыть проекты!

...