4

更新: 以下の Microsoft の公式回答を参照してください。これを達成するための非公式のハックがあると思うので、質問はそのままにしておきます。

更新 2:この問題について、WebDeploy 機能の要求を Microsoft に投票してください。

私は自分のショップで MSDeploy を頻繁に使用しており、展開時に展開プロバイダーの "追加のプロバイダー設定" を変更する msdeploy パラメーターを定義するのに何時間も費やしました。オンラインで検索したり、Reflector on the Web Deploy バイナリを使用したりすると、これについては何もわかりませんでした。

具体的には、dbDacFx プロバイダーのDacDeployOptionsの「DropObjectsNotInSource」および「BlockWhenDriftDetected」設定をコマンド ライン オプションで操作できるようにしようとしています。

manifest.xml ファイルから次のような DACFx オプションを変更するために、考えられるすべての XPath 式を試しました。

<sitemanifest>
  <dbDacFx path="C:\Database.dacpac" 
           DropObjectsNotInSource="False"
           BlockOnPossibleDataLoss="True" /> 
</sitemanifest>

setParam種類で msdeploy を使用すると、 でDeploymentObjectAttribute一致するノードを見つけることが常に失敗します//@DropObjectsNotInSource

DropObjectsNotInSourceパッケージの archive.xml ファイル内のプロバイダーのノードの属性「MSDeploy.MSDeployProviderOptions」に値が実際に格納されているため、失敗したと思われます。(この属性値は、Microsoft.Web.Deployment.DeploymentProviderOptions の .Net シリアル化されたインスタンスのように見えるため、単純な古い XPath で操作するのは非常に困難です。)

これらの追加のプロバイダー設定をデプロイ時に変更することはできますか?


更新: Microsoft Web Deploy チームに、ブログとここへの投稿を通じてメールを送信しました。Web Deploy チームは素晴らしい回答をしてくれました (Harsh と Ranjith に感謝します!)。残念ながら、公式の言葉では、これはサポートされていません。

差出人: ランジス ムッカイ ラマチャンドラ ...@microsoft.com

件名: RE: MSDeploy setParam は「追加のプロバイダー設定」を変更できますか?

日付: 2013 年 2 月 15 日午後 5 時 20 分 46 秒 EST

宛先: Web 配置サポート

こんにちは、スティーブです。

申し訳ありませんが、これは現在サポートされていません。

ありがとう、ランジット

4

0 に答える 0