Пакетный файл MSDeploy больше не обрабатывает кавычки

В процессе сборки мы развертываем наши веб-приложения с помощью MSDeploy. Это работало идеально до нескольких недель назад (я думаю, когда мы обновили наш сервер сборки / TFS до SP1 TFS 2010).

В нашем определении сборки есть шаг для вызова процесса. Этот процесс вызовет созданный файл deploy.cmd и передаст пару дополнительных параметров. Долгое время это работало нормально, но теперь мы получаем следующее:

Ошибка: нераспознанный аргумент '"-skip: objectName = filePath, absolutePath =. * Cmsservices.config"'. Все аргументы должны начинаться с "-".

Как описано в справке, мы передаем дополнительные аргументы в кавычках:

WebApplication.deploy.cmd / Y / M: sv-ad-iis02 -allowUntrusted " Я решил эту проблему, используя переменную среды для передачи этих значений. Это по-прежнему не решает проблему, заключающуюся в том, что новые файлы deploy.cmd экранируют кавычки другим способом.

Решение, которое я теперь поместил в рабочий процесс процесса развертывания:

<mtbwa:InvokeProcess Arguments="[String.Format(&quot;/Y /M:{0} -allowUntrusted&quot;, DeploymentServerName)]" DisplayName="Deploy selected Web Application using MSDeploy" EnvironmentVariables="[New Dictionary(Of String, String) From {{&quot;_MsDeployAdditionalFlags&quot;, DeploymentParameters}}]" FileName="[String.Format(&quot;{0}\Packages\{1}\{2} {3}\{4}.deploy.cmd&quot;, BuildDetail.DropLocation, platform.Configuration, ApplicationName, VersionString, DeploymentPackageName)]" sap:VirtualizedContainerService.HintSize="464,420" Result="[ExitCode]">
16
задан Michiel 7 April 2011 в 12:35
поделиться