MsDeploy没有使用-setParam填充参数并且获取错误“参数不能为null或为空”

时间:2017-01-24 21:04:13

标签: msdeploy

我正在使用MSDeploy通过IIS Import和命令行部署应用程序。

我通过将defaultValue属性设置为空字符串来设置一个不能为null的参数。我还指定它是一个Enumerable和可能的值。

以下是我的parameters.xml文件:

<parameters>
  <parameter name="MyKey" description="Please select a value from the list" defaultValue="">
    <parameterentry kind="XmlFile" scope="\\web.config$" match="/configuration/appSettings/add[@key='MyKey']/@value">
    </parameterentry>
    <parameterValidation kind="Enumeration" validationString="value1,value2,value3"/>
  </parameter>
</parameters>

通过IIS导入应用程序选项工作完美,但在使用命令行时使用以下命令:

msdeploy -source:package='C:\Package\MyApp.zip' -dest:auto,computerName="https://example.com:8172/MSDeploy.axd?site=MyIISSite",authtype="NTLM",includeAcls="False" -verb:sync -disableLink:AppPoolExtension -disableLink:ContentExtension -disableLink:CertificateExtension -setParamFile:"C:\Package\MyApp.SetParameters.xml" -whatif -setParam:name=MyKey,value=value1 -enableRule:AppOffline -allowUntrusted

抛出错误“'MyKey'参数不能为null或为空”。

-setParam不是为parameters.xml文件中指定的参数提供值的选项吗?如果我在定义参数时将默认值设置为允许的选项之一,但默认情况下不希望在此处具有任何值,则它可以工作。

0 个答案:

没有答案