кажется, ответ @Hans получил его, главное отличие в том, что если не нужно создавать файлы, события сборки не произойдут.
из документации msdn:
СборкаСобытия и пользовательские шаги сборки выполняются в следующем порядке вместе с другими шагами сборки:
Pre-Build event
Custom build tools on individual files
MIDL
Resource compiler
The C/C++ compiler
Pre-Link event
Linker or Librarian (as appropriate)
Manifest Tool
BSCMake
Custom build step on the project
Post-Build event
Пользовательский шаг сборки проекта и событие после сборки запускаются последовательно после завершения всех других процессов сборки.
События сборки выполняются, только если сборка успешно достигает этих точек в процессе сборки .Если в сборке возникает ошибка, событие после сборки не происходит;если ошибка возникает до фазы связывания, не произойдет ни событие перед связью, ни событие после сборки.Кроме того, если нет необходимости связывать файлы, событие предварительной ссылки не произойдет.Событие предварительной ссылки также недоступно в проектах, которые не содержат шаг ссылки. Если не требуется создавать файлы, события сборки не происходят.
В среде разработки Visual Studio C ++ существует три основных способа настройки процесса сборки:
Пользовательские шаги сборки Пользовательский шаг сборки - это правило сборки, связанное с проектом.Пользовательский шаг сборки может указывать командную строку для выполнения, любые дополнительные входные или выходные файлы и сообщение для отображения.Дополнительные сведения см. В разделе Как добавить пользовательский шаг сборки в проекты MSBuild.
Инструменты пользовательской сборки Пользовательский инструмент сборки - это правило сборки, связанное с одним или несколькими файлами.Пользовательский шаг сборки может передавать входные файлы в пользовательский инструмент сборки, что приводит к одному или нескольким выходным файлам.Например, файлы справки в приложении MFC создаются с помощью специального инструмента сборки.Для получения дополнительной информации см. Практическое руководство. Добавление пользовательских инструментов сборки в проекты MSBuild и Определение пользовательских инструментов сборки.События сборки
События сборки позволяют настроить сборку проекта.Существует три события сборки: до сборки, перед связью и после сборки.Событие сборки позволяет указать действие, которое должно произойти в определенное время в процессе сборки.Например, вы можете использовать событие сборки, чтобы зарегистрировать файл с помощью regsvr32.exe после завершения проекта.Для получения дополнительной информации см. Указание событий сборки.