Событие после сборки Visual Studio 2008 - запускается только при перестроении

В Visual Studio 2008 мы запускаем событие после сборки, которое вызывает NANT и, в свою очередь, создает наши файлы конфигурации.

например

if $(SolutionDir) == . GOTO end
nant -buildfile:$(SolutionDir)default.build create..web.config

Есть ли способ запустить это только на ReBuild?

1 ответ

Решение

Я думаю, что вы можете сделать это, указав цели сборки, а не используя события сборки. Попробуйте создать цель AfterClean, чтобы удалить сгенерированные файлы конфигурации, и цель BeforeBuild, чтобы создать их. Убедитесь, что вы установили файловую зависимость для цели BeforeBuild, поэтому msbuild знает, что запускать этот шаг следует только в том случае, если файл отсутствует.

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

Вы можете прочитать больше о целях сборки здесь. Единственный реальный недостаток использования целей сборки вместо событий заключается в том, что они нигде не видны в пользовательском интерфейсе VS. Вы найдете их только при проверке файла проекта.

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

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