0

BizTalkアプリケーションを作成してリモートサーバーに展開しようとするmsbuildスクリプトがあります。私は次のタスクを使用します。

    <MSBuild.ExtensionPack.BizTalk.BizTalkApplication TaskAction="Create" MachineName="$(BizTalkServer)" Applications="$(BizTalkApplicationName)" />

リモートサーバーにデプロイしようとすると、次のエラーが発生します

エラー:COMException:アプリケーションがすでに存在するため、アプリケーションの登録に失敗しました。

しかし、それは真実ではありません。アプリケーションは存在しません。

ネットで検索すると、次のリンクが表示され、MSDTCプロパティの設定が提案されます:http ://social.msdn.microsoft.com/Forums/sa/biztalkediandas2/thread/251250c1-3f95-4457-8fbc-0274c722c7b0

ただし、DTCは、ローカルサーバーとリモートサーバーの両方で次のように設定されています。

DTC構成

また、リモートBizTalkサーバーに対して他の2つのタスクを実行して、アプリケーションの存在とWCF-SQLアダプターの存在を確認していることにも注意してください。これらは両方とも成功します。

<MSBuild.ExtensionPack.BizTalk.BizTalkApplication TaskAction="CheckExists" MachineName="$(BizTalkServer)"  Application="$(BizTalkApplicationName)">
  <Output TaskParameter="Exists"
          PropertyName="ApplicationExists" />      
</MSBuild.ExtensionPack.BizTalk.BizTalkApplication>
<MSBuild.ExtensionPack.BizTalk.BizTalkAdaptor TaskAction="CheckExists" MachineName="$(BizTalkServer)" AdaptorName="WCF-SQL">
  <Output TaskParameter="Exists" PropertyName="AdaptorExists" />
</MSBuild.ExtensionPack.BizTalk.BizTalkAdaptor>

更新

イベントログを調べました。そもそもなぜそんなことを考えなかったのかわからない。次の3つのイベントが発生します。

最初のイベント、レベル=情報、ソース=SQLサーバー

Microsoft分散トランザクションコーディネーター(MS DTC)の初期化を試みています。これは情報メッセージです。ユーザーの操作は必要ありません。

2番目のイベント、レベル=情報、ソース=SQLサーバー

Microsoft分散トランザクションコーディネーター(MS DTC)サービスに接続できませんでした。分散トランザクション機能をご希望の場合は、このサービスを開始してください。

3番目のイベント、Level = Error、Source = BizTalk

SQLインスタンスでMessageBoxBizTalkMsgBoxDbと通信できません..エラーコード:0x8004d01c。考えられる理由は次
のとおりです。1)メッセージボックスが使用できない。
2)このマシンからMessageBoxへのネットワークリンクがダウンしています。
3)このローカルマシンまたはこのMessageBoxをホストしているマシンのDTC構成が正しくありません。

4

1 に答える 1

0

リモートサーバーにBizTalkアプリケーションがないのに、その名前で展開しようとしているアプリケーションが、ローカルサーバーに展開しようとしているBizTalkアプリケーションがあることを発見しました。指定された名前。

それは私がアプリケーションをリモートサーバーにデプロイすることを妨げるべきではありませんが、それはそうします。

この動作は、MSBuild拡張パックのBizTalkタスクを使用する場合と、btstask.exeを使用してリモートアプリケーションを作成しようとする場合の両方で発生します。

于 2012-06-26T08:15:15.727 に答える