从生成的setParameters.xml中删除参数

时间:2013-07-26 11:49:25

标签: msdeploy

有没有办法从MSDeploy包中生成的SetParameters.xml中删除参数。

My Parameters.xml如下所示:

<parameter name="Server" defaultValue="" />
<parameter name="Directory" defaultValue="" />
<parameter name="Service URL" defaultValue="http://{Server}/{Directory}/Services/GeneralIntegrationService.svc" tags="hidden">
<parameterEntry kind="XmlFile" scope="Web.config" match="//system.serviceModel/client/endpoint[@name='BasicHttpBinding_IGeneralIntegrationService']/@address" />

我想要的是生成的SetParameters.xml只包含前两个参数。

我已经回顾了这个问题: Can MSBuild exclude "Hidden" Web Deploy parameters from the generated SetParameters.xml?

然而,我无法理解.targets文件应该如何设置。有人可以详细说明parameters.xml和.targets文件的完整示例。另外,我需要在.targets文件的构建属性中设置什么吗?

1 个答案:

答案 0 :(得分:0)

我不认为SetParameters方法设计为以这种方式使用。我会将配置转换用于您想要从安装应用程序的人员中隐藏的参数。

修改 实际上,对于您的场景,您可以在Web.config中进行“搜索和替换”以获得所需的结果

在你的parameters.xml中

<parameters>
    <parameter name="Server" description="" defaultValue="" tags="">
        <parameterEntry kind="TextFile" scope="\\web.config$" match="@@Server@@" />
    </parameter>
    <parameter name="Directory" description="" defaultValue="" tags="">
        <parameterEntry kind="TextFile" scope="\\web.config$" match="@@Directory@@" />
    </parameter>
</parameters>

如果你需要Web.Config中的端点地址,只需输入如下的URL:

http://@@Server@@/@@Directory@@/Services/GeneralIntegrationService.svc