4

スイートに多数の Web アプリがあります。Web 配置を使用して、Visual Studio で構築した配置パッケージを公開しています。これらのパッケージには、web.config の値を変更するために使用できる SetParameters.xml ファイルが付属しています。接続文字列など、いくつかの値は自動的に実行されますが、パラメータ化できる値を指定するために、parameters.xml ファイルをプロジェクトに追加できます。

 <?xml version="1.0" encoding="utf-8" ?>
     <parameters>
         <parameter name="Sharepoint service principal name"
                    description="The principal name of the Sharepoint service."
                    defaultValue="host/108.125.111.137">
              <parameterEntry kind="XmlFile"
                              scope="\\Web\.config$"
                              match="/configuration/system.serviceModel/client/endpoint/identity/servicePrincipalName/@value"/>
         </parameter>
    </parameters>

私の質問は、すべての Web アプリの web.config にアプリ設定があり、デプロイ時に変更したいキーと値が同じである場合、すべての parameters.xml ファイルで特定のパラメーターが重複しないようにするにはどうすればよいですか? このタグを 1 つの場所に置き、代わりに各 parameters.xml がその共通の場所を参照するようにする方法はありますか?

4

1 に答える 1

6

VS2010 RTM Web パブリッシングを使用している場合は、いいえ。

ただし、VS2012 (または VS2010 + Azure SDK) を使用している場合はParametersXMLFiles、プロジェクト ファイル wpp.targets または発行プロファイルで追加を宣言するパラメーター ファイルを定義するだけです。

<ItemGroup>
  <ParametersXMLFiles Include="$(SolutionDir)\CommonParameters.xml" />
<ItemGroup>

これらは、各プロジェクトのルートにある Parameters.xml とマージされ、MsDeployDeclareParameters.

于 2012-12-06T03:13:27.897 に答える