В Visual Studio 2008 мы выполняем событие сборки сообщения, которое называет NANT и в свою очередь создает наши файлы конфигурации.
например.
if $(SolutionDir) == . GOTO end
nant -buildfile:$(SolutionDir)default.build create..web.config
Существует ли способ выполнить это только на ReBuild?
Я думаю, вы можете сделать это, указав цели сборки, а не используя события сборки. Попробуйте создать цель AfterClean, чтобы удалить сгенерированные файлы конфигурации, и цель BeforeBuild, чтобы их создать. Убедитесь, что вы настроили файловую зависимость для целевого объекта BeforeBuild, чтобы msbuild знал, что он должен запускать шаг только в том случае, если файл отсутствует.
На самом деле я этого не пробовал, но полагаю, что msbuild будет запускать целевой объект только в том случае, если целевые файлы не существуют. Когда вы перестраиваете, будет запущен процесс очистки и, в свою очередь, ваша цель AfterClean.
Подробнее о целях сборки можно прочитать здесь . Единственным реальным недостатком использования целей сборки вместо событий является то, что они не видны нигде в пользовательском интерфейсе VS - вы найдете их, только если проверите файл проекта.
Может быть более прямое решение, связанное с событиями - см. Блог команды msbuild здесь .