2010-07-23 4 views
28

Я использую бегун MSBuild в городе Team для создания и развертывания моего проекта в промежуточной среде. Все работает отлично, за исключением того факта, что он продолжает удалять папку моего репозитория, расположенную в корне проекта.Как сохранить MSDeploy для удаления дополнительных папок в моем проекте?

В Visual Studio 2010 есть флажок в диалоговом окне публикации профиля, который говорит: «Оставьте дополнительные файлы назначения (не удалять)»

Есть ли способ сделать то же самое с MSBuild?

<Target Name="Deploy" DependsOnTargets="Build;Test"> 
     <MSBuild Projects="MyProject.sln" Properties="Configuration=$(Configuration); username=username; password=password; DeployOnBuild=True; DeployTarget=MSDeployPublish; MSDeployPublishMethod=WMSVC; MSDeployServiceUrl=https://DEVWEB01:8172/MsDeploy.axd; DeployIISAppPath=MyProject.$(Configuration); AllowUntrustedCertificate=True;"/> 
</Target> 

ответ

49

Найден ответ!

Все, что вам нужно сделать, это добавить следующее свойство атрибута Свойства:

SkipExtraFilesOnServer = True;

+4

Yikes Я просто потратил на день, пытаясь понять, как сделать эту работу, используя -enableRule: DoNotDeleteRule (параметр, который я могу передать в MSDEPLOY.exe), но TFS его не будет. Я просто добавил/p: SkipExtraFilesOnServer = Верно для MSBuildArguments в определении сборки TFS, и это сработало! Большое спасибо :-) – Philippe

+0

Рад, что это помогло! –

+0

Знаете ли вы, может ли этот параметр конфигурации также задаваться переменными среды? В teamcity я в настоящее время использую переменные среды для таких вещей, как конфигурация и путь развертывания. Кажется, они записаны в SetParameters.xml, но я не знаю, почему и когда .. – diegohb

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

  • Нет связанных вопросов^_^