1

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

我的 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 只包含前 2 个参数。

我已经查看了这个问题: MSBuild 可以从生成的 SetParameters.xml 中排除“隐藏”Web 部署参数吗?

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

4

1 回答 1

0

我不认为 SetParameters 方法被设计为以这种方式使用。我会使用 config-transforms 作为您想要对安装应用程序的人隐藏的参数。

编辑 实际上,对于您的方案,您可以在 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
于 2013-11-21T08:43:44.327 回答