Я пытаюсь найти правильный способ использования информации, уже присутствующей в файле решения довольно большой базы данных C++.Использовать msbuild для решения для вызова настраиваемой цели на некоторые проекты
Проблема, которую я пытаюсь решить, вызывает внешний скрипт в некоторых файлах проекта в решении, но наблюдает за уже существующими зависимостями, указанными в решении и файлах одного проекта.
Я успешно вызвал упомянутый (python) скрипт, добавив пользовательскую цель в один из моих файлов проекта и используя msbuild с командой/t: {TargetName} в файле vcxproj.
Теперь я могу добавить эту цель в каждый файл проекта, который должен вызвать этот скрипт, а затем вызвать msbuild для каждого из них в правильном порядке, однако это побеждает цель использования зависимостей, известных решению.
Вызов решения с пользовательской целью, однако, не работает (как видно из других вопросов, связанных с stackoverflow, таких как: Invoke Custom MSBuild Target on Solution File).
С другой стороны, поскольку я хочу, чтобы иметь возможность ТОЛЬКО вызвать целевой скрипт и не зависеть от вызова какой-либо команды сборки, я не могу использовать предлагаемые обходные пути в некоторых из ответов на добавление цели Post или PreBuild ,
Есть ли другой способ использования зависимостей без необходимости прохождения маршрута msbuild и пользовательских целей, или есть ли другое обходное решение, которое может служить моей цели?
С немного возиться, я получил это, чтобы работать при вызове сценария для всех проектов, у которых указанная пользовательская цель. Тынк ты. Однако одна большая причина использования зависимостей из файла решения заключается в том, что мы можем распараллелить выполнение некоторых из проектов (а именно, без зависимостей). Я еще не совсем понял, как бы я сказал, что все проекты будут запущены «как только все их зависимости закончатся». – lordylike
Насколько я знаю, этот метод не поддерживает параллель. –
Да, я понял это. Тем не менее, я смог использовать вашу базовую идею и некоторый анализ зависимостей, чтобы добраться туда, куда я хотел пойти. Так что спасибо тебе. – lordylike