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 に答える