Событие после сборки при запуске (F5) в Visual Studio?

У меня есть событие после сборки, настроенное в Visual Studio 2010. У меня проблема в том, что событие не запускается, когда я использую Run (F5) для запуска отладки - кажется, что оно запускается только при явной сборке (F6).).

Это, кажется, происходит даже тогда, когда исходные файлы изменились (поэтому он должен быть собран для запуска).

Есть ли настройка, которая контролирует это поведение?

5 ответов

Решение

Постбилды запускаются только после сборки. Поэтому, когда ваши артефакты сборки обновлены, он не будет собираться и постблокировки не будут запускаться.

Если он даже не запустится при сборке, проверьте следующее:

В Visual Studio посмотрите Инструменты -> Параметры -> Проекты и решения -> Построить прогон.

Проверена ли опция "Создавать только запускаемые проекты и зависимости при запуске"?

Попробуйте снять этот флажок.

Какова ценность опции "При запуске, когда проекты устарели"? Это должно быть "Запрашивать сборку" или "Всегда собирать", чтобы обязательно вызывать сборку при нажатии клавиши F5.

См. Visual Studio: запуск проекта C++ Post-Build Event, даже если проект обновлен

Используйте Custom Build Step с несуществующим файлом в качестве вывода, чтобы всегда выполнять ваш шаг.

Он запускается только после успешной сборки. Вот почему это называется событие послесборки.

Может быть, то, что вы пытаетесь достичь, может быть сделано по-другому. Не могли бы вы дать более подробную информацию? Что ты пытаешься сделать? Что вы хотите запустить перед каждым сеансом отладки и почему?

Проверьте правильность команды. Простой пример будет:

copy "$(SolutionDir)$(ProjectName)\test.txt" ".\test.txt"

Я разработал простой надстройку VisualStudio, которая перехватывает команду запуска и выполняет перестройку решения до того, как он фактически запустит проект.

Может быть, это будет полезно для кого-то еще: https://skydrive.live.com/redir.aspx?id=3dc36fae9ccfb71f&resid=3DC36FAE9CCFB71F!112&parid=root(BuildAndRunAddin.zip)

Другие вопросы по тегам