2014-02-20 2 views
0

Я обновляю одно из наших приложений на работе, когда я столкнулся с проблемой. У нас есть некоторые «настраиваемые» языки, которые обрабатываются с помощью настраиваемого правила сборки в файле. Тем не менее, есть и другие проекты, которые полагаются на эти файлы, создаваемые до их правильной сборки, но проект с «настраиваемыми» сгенерированными файлами требует других проектов, прежде чем он сможет их построить. Решение супер jenky, которое я имею, состоит в том, чтобы создавать сгенерированные проекты кода, они терпят неудачу, но генерируют необходимый код, а затем строят зависимости.Выполнение только пользовательских правил сборки - VS2012

Что я хочу сделать, это запустить все правила пользовательской сборки до фактически построить любой проект в решении. Есть ли способ сделать это?

Спасибо!

+0

Похоже, что у вас есть круговая зависимость, верно? Поскольку в нормальных условиях, с правилом правильной сборки, MSBuild должен иметь возможность обнаруживать, что ваши сгенерированные файлы отсутствуют или устарели. – MSalters

+0

Фактически, да. Это круговая зависимость, которую я не знаю, как удалить. – jhammond

ответ

0

Обычная причина - проект, содержащий несвязанные файлы. Например. проект A содержит файлы, от которых зависит проект B, и другие файлы, которые зависят от B. Разделите A на A1 и A2. Переместите файлы, на которых B зависит от A1. Переместите файлы, которые зависят от B в A2. Задайте порядок зависимостей A1 <- B <- A2.

A1 теперь строит, поскольку он не имеет зависимости от B. B, поскольку его зависимости удовлетворяются A1. A2 строит, потому что его зависимости удовлетворяются B.

Смежные вопросы