展開中にソース マニフェストのプロバイダーの属性値を置き換える方法について、msdeploy に質問があります。
バックグラウンド:
msdeploy を使用して、リリース ビルド中に展開パッケージを作成します。パッケージをテスト/ステージング/本番環境への展開に適したものにし、展開時に構成値を変更できるようにする必要があります。展開中に実行する必要があることの 1 つは、メッセージ キュー (msmq) の作成です。これは、msdeploy がすぐにサポートしていないものです (技術的には、スクリプトを使用して msdeploy に呼び出させることもできますが、それは楽しいことではありません)。 )。展開中にこれらのメッセージ キューを作成できるようにする msdeploy 用のカスタム プロバイダー (msmq) を作成しました。作成するキューとそれらに関するいくつかの設定は、次のような sourceManifest.xml ファイルで指定されます。
<sitemanifest>
<msmq path=".\private$\some.application/SomeService.svc" isTransactional="True" shouldGrantNetworkServicePeekWrite="True" userNameToGrantFullAccess="testdomain\username" />
<!-- more (non-relevant) stuff here -->
</sitemanifest>
ソース マニフェストのコンテンツは、パッケージ自体に埋め込まれます。
質問:
プロバイダーの属性値を置き換えるにはどうすればよいですか?
具体的には、userNameToGrantFullAccess 属性値を置き換える必要があります。フル アクセスが必要なユーザーは、環境によって異なります。私はちょっと恥ずかしい回避策を持っているので、これを行うためのきちんとした方法があることを願っています。msdeploy の-declareParam/-setParamと -replace コマンドを使用してみましたが、うまくいくものを見つけられないようです。DeploymentObjectAttributeパラメーターの種類が何かにつながることを期待していました。
ありがとう!