Как автоматизировать изменение параметров проекта в Visual Studio 2005 и более поздних версиях

0

У меня есть проекты visual studio 2005/2010, и каждый из этих проектов состоит из 20 проектов, и все эти проекты управляются одним файлом решения (.sln)

теперь, если мне пришлось изменить какие-либо параметры компилятора или компоновщика, я должен вручную сделать это для всех 20 проектов, так или иначе, это может быть автоматизировано с использованием скрипта или Addin или любого другого метода.

цените свое время и внимание

  • 0
    Просто сначала выберите все проекты, так что вам нужно внести изменения только один раз :)
  • 0
    @ HansPassant О, черт возьми, я действительно чувствую себя немного неловко после моего ответа ниже ... да, это было бы действительно намного проще :)
Показать ещё 1 комментарий
Теги:
visual-studio
visual-c++

1 ответ

0
Лучший ответ

То, что вы ищете, это листы свойств. У Visual Studio уже есть механизм, который почти позволяет вам делать все, о чем вы просите.

Лист свойств (*.props) в основном представляет собой отдельный файл настроек, который можно присоединить к таким проектам, которые вам нравятся, и все настроенные свойства применяются к этим проектам. Подумайте об этом, как будто проекты "наследуются" из другой конфигурации - и это именно то, что происходит.

Скажем, у вас есть базовая конфигурация каталогов include, каталогов ссылок, библиотеки, препроцессора и т.д., И вы знаете, что каждый проект использует их в каждой конфигурации (Debug, Release,...). Вы можете создать один лист свойств defaults.props и применить его ко всем вашим 20 проектам. Затем, если вам требуется изменение, просто отредактируйте файл свойств, и все изменения будут отражены во всех 20 проектах.

Чтобы создать листы свойств, нажмите " View → Property Manager (не путать с "Окно свойств"!). Появится окно, в котором вы сможете увидеть все свои проекты со всеми их конфигурациями. Теперь щелкните правой кнопкой мыши на любом из ваших проектов и выберите " Add New Property Sheet, введите имя и сохраните его где-нибудь. Это создаст файл .props и добавит его ко всем конфигурациям вашего одного проекта. Затем вы можете отредактировать эту страницу свойств из этого окна, как будто это был реальный проект (щелкните правой кнопкой мыши на листе Properties и выберите " Properties).

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

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

Последнее важное замечание: если вы установили некоторые свойства непосредственно в своем проекте (что, очевидно, у вас есть), оно автоматически отменяет любые параметры, указанные вами в вашей странице свойств. Вы можете увидеть это, если параметр в вашем проекте имеет жирное значение. Если вы хотите вернуть его значение свойства, снимите этот параметр и выберите <inherit from parent or project defaults> в раскрывающемся меню настройки. Include- и Linker-Directories являются особым случаем, в котором вы ВСЕГДА наследуете все, что указано в листе свойств, если явно не отключено.

EDIT: я не совсем уверен в VS2005/VS2008, и iirc они имеют тот же принцип с *.vsprops, но это может быть несовместимо с *.props файлами из VS2010+

Ещё вопросы

Сообщество Overcoder
Наверх
Меню