MSDeploy SetParameters.xml创建空值

时间:2014-02-02 16:15:24

标签: publish msdeploy

所以我的问题相对简单。

在我的Parameters.xml文件中,我有以下一行:

<parameter name="SEND_TO_FRIEND_BCC" description="Email address of developer" defaultValue="" tags="">
   <parameterEntry kind="XmlFile" scope"\\web.config$" match="/configuration/appsettings/add[@key='SEND_TO_FRIEND_BCC']/@value" />
</parameter>

发布时,这会创建一个最终结果如下的文件:

<setParameter value="" name="SEND_TO_FRIEND_BCC" />

上线时,应将SEND_TO_FRIEND_BCC的当前web.config值替换为空字符串。相反,当我尝试发布时,我得到以下内容:

Error: The 'SEND_TO_FRIEND_BCC" argument cannot be null or empty.
Error count: 1.

   at InRelease.MSDeploy.Program.Main(String[] args)

2 个答案:

答案 0 :(得分:11)

必须告诉MSDeploy,该值可以为空...

<parameter name="SEND_TO_FRIEND_BCC" description="Email address of developer" defaultValue="" tags="">
   <parameterValidation kind="AllowEmpty" />
   <parameterEntry kind="XmlFile" scope"\\web.config$" match="/configuration/appsettings/add[@key='SEND_TO_FRIEND_BCC']/@value" />
</parameter>

答案 1 :(得分:0)

所以,通过纯粹的机会,我尝试进入一个空的空间,它工作。 如果有更好的方式,我仍然渴望了解更多...