我使用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文件一起工作,我需要做什么?
答案 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"