所以我的问题相对简单.
在我的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)
解决方法
必须告诉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>