Решения Visual Studio - как обеспечить совместное использование свойств проекта?

Если вы используете Visual Studio 2008 и у вас есть много файлов проекта в решениях, как вы поддерживаете их синхронизацию? Другими словами, если вы измените свойство в одном проекте, как вы обеспечите автоматическое изменение этого свойства в других проектах?

4 ответа

Решение

В итоге я использовал глобальные переменные, доступные в Visual Studio. Это были переменные типа $ProjectName и тому подобное. В VS уже есть много доступных, они также могут быть определены пользователем.

Учитывая, что достаточное количество участников озадачено понятием вложенных решений, я просто буду исходить из того, что вы имели в виду "решение с несколькими проектами". Вы задаете им общие настройки, используя страницу свойств проекта. Начните с просмотра + другой Windows + Property Manager. Откройте один из узлов, щелкните правой кнопкой мыши конфигурацию и выберите Добавить новый. Выберите местоположение, которое имеет смысл для решения, например, каталог решений. Настройте параметры так, как вы хотите.

Повторите эту процедуру для всех других проектов в вашем решении, теперь используя Add Existing. Каждый проект будет наследовать настройки, которые вы настроили на листе, если он не переопределяет их явно. Возможно, вам придется вернуться к свойствам проекта и изменить переопределение обратно на "наследовать".

Поддержка IDE для листов свойств проекта немного ненадежна, обязательно сохраняйте их явно при внесении изменений.

Я должен сказать, что я не слышал о "вложенных решениях", и мне нужна довольно веская причина, чтобы сделать что-то подобное. Особенно учитывая, что ваш вопрос действительно сосредоточен на том, "как мне поддерживать дублирование?" так как вы говорите, что решения будут разделять свойства. Это основное правило в программировании "не дублируй себя".

Вы можете поместить необходимые параметры в файл ответов компилятора и использовать один и тот же файл ответов в каждом из ваших файлов.vcproj.

Смотрите здесь: http://msdn.microsoft.com/en-us/library/3te4xt0y(VS.71).aspx

По сути, вы создаете текстовый файл, например SharedOptions.rsp, и в каждой строке файла указываете другой параметр компилятора командной строки. Как /I.\include или /DDEFINE или что-то еще.

Затем на странице свойств командной строки C++ каждого проекта вы добавляете это в поле дополнительных параметров: @"SharedOptions.rsp".

Затем, когда вы редактируете опции в текстовом файле, они будут выбраны всеми проектами. Вполне возможно, что решение для управления собственностью, предоставленное nobugz, является просто графическим интерфейсом для этого - я не знаю, я скорее любитель командной строки.

Я думаю, что вы уже что-то сделали с этим в последние 2 месяца, но этот ответ больше для гуглеров...

Другие вопросы по тегам