Я понимаю, что этот вопрос задан раньше - но ни один из ответов не касается моего конкретного случая:
-
У меня есть решение, содержащее собственный проект С++ EXE, который, в свою очередь, зависит от 40 + родных проектов С++ DLL (в том же решении).
-
Проект EXE имеет обычную конфигурацию Debug, Release (и Profile), но поскольку их же исходная база кода используется для создания трех разных приложений (скажем, A1, A2 и A3). Кроме того, он нацелен на x32 и x64, так что в общей сложности 3 x 3 x 2 = 18 проектных конфигураций.
-
Проекты DLL используются всеми тремя целевыми приложениями, поэтому есть только 3 (отладка, выпуск, профиль) раз 2 (x32, x64) = 6.
-
Поскольку проект EXE зависит от DLL, ему необходимо скопировать соответствующий вывод проектов DLL в свою целевую папку (или вложенную папку) при каждом изменении.
Как вы будете обрабатывать обновление библиотек DLL?
-
Действие после сборки в каждом проекте DLL не работает (ну), так как оно должно было бы скопировать DLL в соответствующую выходную папку A1, A2 и A3. Любое изменение в выходной папке приводит к необходимости изменять действие после сборки в каждом из 50 проектов DLL.
-
В настоящее время я добавил библиотеки DLL в качестве элементов проекта в проект EXE и настроил собственный инструмент построения, чтобы скопировать его в выходную папку. Но это требует от меня добавить каждую DLL 6 раз, поэтому я получаю 6 x 50 = 300 DLL!
Мне действительно нужно что-то вроде опции Copy Local, которая, к сожалению, работает только с сборками. Предлагаете ли вы решение упростить эту сборку?