visual studio 2005: пропускать сборки по неизвестной причине? - PullRequest
4 голосов
/ 01 марта 2009

У меня есть визуальное студийное решение с рядом проектов. Диспетчер конфигурации тщательно настроен для построения всех проектов, кроме одного (пропущенный - это тестовый проект). После построения решения в командной строке я получил следующее:

"Building XXX Debug | x64"

------ Пропущенная сборка: Проект: AAA ------

------ Пропущенная сборка: Проект: BBB, Конфигурация: Отладка Win32 ------

Проект не выбран для построения для этого решения конфигурации

------ Началась сборка: Проект: CCC, Конфигурация: YYY Отладка ia64 ------

<здесь идет сборка>

Как вы можете видеть, проект BBB пропущен, поскольку он не выбран в диспетчере конфигурации, проекте CCC и сборке остальных, и проект AAA пропущен без указания причины Кто-нибудь знает, почему Visual Studio может пропустить сборку проекта без всякой причины? Все имена конфигурации (XXX, YYY Debug, Debug) и платформы (x64 / Win32 / ia64) правильно настроены в диспетчере конфигурации.

Ответы [ 3 ]

3 голосов
/ 01 марта 2009

Выбран ли проект AAA для конфигурации Debug | x64?

Также у меня была такая же ситуация, когда только что загруженное решение (без файла .soa) имело конфигурацию по умолчанию для Itanium, поэтому вся система без его поддержки пропускала все проекты решения для сборки. Правильная сборка начиналась только после выбора win32 вручную.

0 голосов
/ 02 марта 2009

Нормальные сборки в Visual Studio являются инкрементными: Visual Studio пропустит сборку проекта, если считает, что ни один из исходных файлов не был изменен - ​​обратите внимание, что он проверяет только файлы кода, но не ресурсы или другие «вещи».

Попробуйте выполнить чистую сборку, выбрав Build|Clean Solution, затем Build|Rebuild Solution и посмотрите, получите ли вы те же результаты.

Может потребоваться вручную очистить артефакты сборки для каждого проекта (по умолчанию подкаталоги \Bin\ и \Obj\ в каждом каталоге проекта).

0 голосов
/ 02 марта 2009

Запустите проект из командной строки с помощью MSBUILD.exe и установите параметр для ведения журнала (многословие) = подробный или диагностический. Затем вы должны получить больше информации о том, почему msbuild решил пропустить этот вопрос. например,

msbuild XXXX.csproj / verbosity: подробный

Nb. Диагностический вывод очень подробный

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...