Если вы используете Visual Studio 2008 и у вас много файлов проектов в решениях, как вы их синхронизируете? Другими словами, если вы изменяете свойство в одном проекте, как вы гарантируете, что это свойство автоматически изменится в других проектах?
Решения Visual Studio — как обеспечить совместное использование свойств проекта?
Ответы (4)
Учитывая, что достаточно участников озадачены понятием вложенных решений, я просто буду исходить из предположения, что вы имели в виду «решение с несколькими проектами». Вы даете им общие настройки, используя лист свойств проекта. Начните с View + Other Windows + Property Manager. Откройте один из узлов, щелкните правой кнопкой мыши конфигурацию и выберите «Добавить новый». Выберите подходящее место для решения, например каталог решения. Настройте параметры так, как вы хотите.
Повторите эту процедуру для всех других проектов в вашем решении, теперь используя Add Existing. Каждый проект унаследует настройки, настроенные вами на листе, если только он не переопределит их явным образом. Возможно, вам придется вернуться к свойствам проекта и снова изменить переопределение на «наследовать».
Поддержка IDE для листов свойств проекта немного ненадежна, обязательно сохраняйте их явным образом, когда вносите изменения.
Должен сказать, я не слышал о «вложенных решениях», и мне нужна довольно веская причина, чтобы сделать что-то подобное. Особенно учитывая, что ваш вопрос действительно сосредоточен на том, «как мне поддерживать дублирование?» так как вы говорите, что решения будут иметь общие свойства. Это основное правило программирования "не дублируй себя".
Вы можете поместить необходимые параметры в файл ответов компилятора и использовать один и тот же файл ответов в каждом из ваших файлов .vcproj.
См. здесь: http://msdn.microsoft.com/en-us/library/3te4xt0y(VS.71).aspx
По сути, вы создаете текстовый файл, например SharedOptions.rsp, и в каждой строке файла указываете разные параметры компилятора командной строки. Например, /I.\include или /DDEFINE или что-то еще.
Затем на странице свойств командной строки С++ каждого проекта вы добавляете это в поле дополнительных параметров: @"SharedOptions.rsp".
Затем, когда вы отредактируете параметры в текстовом файле, они будут подхвачены всеми проектами. Возможно, что решение для управления свойствами, предоставляемое nobugz, является просто графическим интерфейсом для этого - я не знаю, я больше похож на парня из командной строки.
Я думаю, вы уже что-то делали по этому поводу за последние 2 месяца, но этот ответ больше для гуглов...
В итоге я использовал глобальные переменные, доступные в Visual Studio. Это были такие переменные, как $ProjectName и тому подобное. Многие уже доступны в VS, они также могут быть определены пользователем.