Как сделать так, чтобы выполнение настраиваемой цели MSBuild зависело от отметки времени файла?

В проекте C ++, над которым я работаю (который я преобразовал из VS2008 в VS2010), использовалось несколько файлов vcbuild .rules для определения пользовательских правил сборки. Эти файлы .rules имели специальное свойство «AdditionalDependencies» для узла CustomBuildRule, в котором указан список файлов, которые следует учитывать при разработке, требуется ли перестроение целевого объекта. Эти «AdditionalDependencies» были точно перенесены в соответствующий файл .props во время преобразования VS2010.

Файл .targets, связанный с правилом настраиваемой сборки, действительно добавляет эти AdditionalDependencies к свойству Inputs Целевой узел . Это гарантирует, что цель будет выполнена в случае, если какой-либо из файлов, перечисленных в зависимостях, не существует, но она не выполнит цель, если одна из зависимостей новее, чем выходные данные цели. Это также не совсем логически правильно, поскольку не все файлы на самом деле являются входными, некоторые из них относятся к исполняемым файлам, которые могут использоваться во время сборки цели. Таким образом, они могут быть зарегистрированы в системе контроля версий и будут присутствовать, но более новая версия файла должна запускать перестроение затронутой цели. Кажется, я не нашел ничего в Google или Stack Overflow, что решило бы эту конкретную проблему. Я пытаюсь создать простую таблицу ...

У меня проблемы с правильным выполнением запроса INSERT , и я не могу найти в Google или Stack Overflow ничего, что решает это конкретная проблема.

Я пытаюсь создать простую таблицу для избранных записей, где entry_id сохраняется в таблице вместе с текущим порядком.

Я желаю получить следующий результат:

Если в таблице Featured в настоящее время есть эти три записи:

featured_id    entry_id    featured_order
1              27          0
2              54          1
4              23          2

Я хочу, чтобы следующая запись была сохранена с Feature_order = 3.

Я пытаюсь получить следующее запрос для работы безуспешно:

INSERT INTO `featured`
(
    `entry_id`, `featured_order`
)
VALUES
(
    200,
    (SELECT COUNT(*) AS `the_count` FROM `featured`)
)

Я получаю следующее сообщение об ошибке: Вы не можете указать целевую таблицу "избранные" для обновления в разделе FROM .

Может ли кто-нибудь помочь с решением, которое получает счет, не вызывая ошибки?

Заранее благодарим!

5
задан OMG Ponies 13 July 2011 в 03:15
поделиться