3

パラメーター設定ファイル オプションを指定して MSDeploy を使用しようとしているので、一度ビルドして、パラメーターを別のファイルでオーバーライドすることで複数の環境にデプロイできます。PowerShell から msdeploy を呼び出しています。

msdeploy.exe -verb:sync `
 -source:"contentPath='$SourceLocalPath'" ` 
 -dest:"contentPath='$TargetLocalPath',computername='$TargetServer'"
 -setParamFile:"$ParamFilePath" `
 -verbose

これにより、パラメーターが認識されないというエラーが発生します。

msdeploy.exe: エラー: 宣言されたパラメーター 'SqlConnString' が認識されません。

「setParamFile」行を削除すると、正常にデプロイされますが、デフォルト値が使用されます。また、IIS からパッケージを手動でインポートしようとすると、既定値が入力されたパラメーターが表示されます。

Web プロジェクトのルートに Parameter.xml ファイルがあります。

<parameters>
  <parameter name="SqlConnString" description="Please provide the SQL connection string" defaultValue="...;Initial Catalog=xxx;server=xxx;" tags="">
    <parameterEntry kind="XmlFile" scope="\\web.config$" match="/configuration/connectionStrings/add[@name='Sql']/@connectionString" />
  </parameter>
</parameters>

パッケージは、パッケージ内の ...SetParameters.xml ファイルを使用して作成されています。このファイルには、Parameters.xml ファイルのエントリと標準のエントリが含まれています。

<parameters>
  <setParameter name="SqlConnString" value="...Initial Catalog=xxx;server=xxx;"/>
...  
</parameters>

ありがとうございました

4

1 に答える 1