2016-02-10 4 views
0

Я ищу решение, которое при развертывании моего веб-приложения .net из visual studio. Он должен использовать только измененные файлы.MSbuild опция пропуска без изменений файлов при развертывании веб-приложения

Я пробовал с build TFS 2012, но не смог найти решение. Я также рассмотрел инкрементную сборку, но не смог найти точного решения.

Затем я искал параметр MSbuild, чтобы добавить файл .wpp.targets, чтобы исключить файлы и папку, которая работает правильно, но в этом случае я должен упомянуть файлы вручную, чтобы исключить из сборки.

Затем я нашел атрибут MSbuild SkipUnchangedfiles, я прошел через ссылку MSDN, но не работал.

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

ответ

2

Вам не нужно игнорировать файлы/папки по отдельности. По умолчанию WebDeploy/MSDeploy только развертывает «изменено». WebDeploy проверяет временную метку по умолчанию для идентификации измененных файлов. Если вы попытаетесь развернуть один и тот же пакет дважды, вы увидите, что он будет развертывать все файлы, а затем нет файлов во втором запуске. Проблема заключается в том, что каждая сборка обновляет штамп Dateime и создает новый пакет. Поэтому даже неизменные файлы будут помечены как новые из-за новой метки времени.

Существует второй вариант, когда WebDeploy будет использовать значение контрольной суммы вместо даты и времени. Вы можете добавить флаг -useChecksum WebDeploy, чтобы использовать второй метод.

Или из MSBuild вы можете добавить аргумент /p:MSDeployUseChecksum=true, который установит флаг MSDeploy.

ИЛИ из вашего wpp.targets файл, вы можете добавить следующее свойство:

<MSDeployUseChecksum>true</MSDeployUseChecksum> 
+0

Спасибо за ваш ответ. Я пробовал эту опцию в обоих сценариях. 1. В параметре сборки TFS он не работал, но в файле wpp.target он работал. Теперь timestamp изменяет только измененные файлы. Но проблема в том, что вся сборка развертывается. Я имею в виду, что все файлы и папки и время папок всегда новы, но файлы внутри него имеют разное время. – Mahajan344

+0

Добавление этой опции не изменит, изменили ли файлы время. Это влияет только на то, какие файлы развернуты для цели. – chief7

Смежные вопросы