在MS Web Deploy命令行部署中传递参数

时间:2013-12-04 17:58:44

标签: command-line msdeploy webdeploy

我使用msbuild为我的网站构建部署包。我正在尝试使用位于包中的生成的deploy.cmd文件来部署到远程服务器。我正在使用web deploy的参数,我想使用-setParam标志在命令行设置它们。

WebDeploy的使用说明表明我需要将-setParam配置选项括在引号中,因为它包含'='字符。但是,deploy.cmd文件将整个选项(包括引号)传递给msdeploy可执行文件。 msdeploy可执行文件无法运行,因为该选项不以“ - ”字符开头。

Error: Unrecognized argument '"-setParam:TestParam=ABC123"'. All arguments must begin with "-".

为了让setParam调用与msBuild生成的cmd文件一起工作,我需要做什么?

2 个答案:

答案 0 :(得分:1)

在以下语法中成功使用了-setParam选项,将整个选项括在双引号中,并在内部配置双引号:

...deploy.cmd "-setParam:name=""IIS Web Application Name"",value=""example.com"""

答案 1 :(得分:0)

由于等号,您不需要将整个参数包装在引号中。只是参数键和值,因为它可能包含空格。

-setParam:"TestParam"="ABC123"

应该适用于您的示例。或者在现实世界中:

-setParam:"IIS Web Application Name"="example.com"