2

いくつかのアプリケーション(約20程度)に共通のオーケストレーションを含む新しいバージョンのBizTalkアプリケーションを展開しようとしています。新しいバージョンには、いくつかの新しいアプリケーションで使用される新しいオーケストレーションが含まれています。

新しいバージョンのmsiをインポートしようとすると、次のようなエラーが発生します。

「アセンブリ"[assembly_name]"は、更新するアセンブリのセットに含まれていないアセンブリによって使用されているため、更新できません。アセンブリを更新するには、次のアセンブリを削除してください: "[dependant_assembly1] [dependant_assembly2] ..."

開発環境からBizTalkサーバーにアクセスできないため、BizTalk管理コンソールを使用してアプリケーションを更新する必要があります。20ほどの依存アプリケーションをすべて削除して再インストールせずに、更新されたアプリケーションをインポートするにはどうすればよいですか?

ありがとう

4

2 に答える 2

4

既存の古いバージョンと同じバージョン番号で新しいベースアプリケーションをデプロイしているようです。

私たちのために働くもの:

  • アプリケーションの新しいバージョンをデプロイするたびに、バージョン番号をインクリメントします(アセンブリはGACされているため、BTSはサイドバイサイドバージョン管理をサポートしています)。変更されたカスタムアセンブリもバージョン管理する必要があります。
  • 新しいアプリケーションをローカルのBizTalkに展開した後、リソースを編集して、参照されているすべてのアセンブリやバインディングなどの正しい(最新の)バージョンが最新であることを確認します(古いものを削除し、新しいものを追加します)。
    • これで、一般的なアプリケーションに古いバージョンと新しいバージョンの両方のアセンブリが含まれるようになります。「クライアント」アプリケーションの新しいバージョンは、ベース/フレームワーク/コモンアプリケーションの新しいバージョンを使用します。
    • 依存するすべてのアプリケーションがアップグレードされたら、古いバージョンを削除できます。

しかし、実際の解決策は、たとえばアプリケーション間でメッセージングを使用することによって、アプリケーションをより分離することを検討することであるようです。このようにして、アプリケーションへの共通の参照としてスキーマのみを分割できます。

于 2010-09-10T08:48:08.087 に答える
1

実際の BT ボックスへのアクセスに応じて、バージョニングを省略したい場合は、実際には BT の展開プロセスをこれよりも少しハックすることができます。(システム管理者を説得してください)

デプロイ コンソールにしかアクセスできない場合は、依存アプリケーションを停止し、アップグレードするアプリケーションへの参照を削除してから、最初からデプロイし、参照を再度追加して依存アプリケーションを再起動します。実際に再インストールする必要はありません。この方法は面倒で面倒ですが、うまくいきます。これを行うのは、BT インストールが多すぎて、同じアプリの複数のバージョンでそれらをさらに混乱させるためです

これがハックです。サーバーへのアクセス(あなたが持っていないと言ったことは知っています)、またはdllを受信して​​以下の機能を実行できるサービスをインストールする機能のいずれかが必要です。(これを設定するように誰かを説得するかもしれないと思います)免責事項、これはサポートされているソリューションではなく、私は何とか責任を負いません

最初のソリューションを実行するにはあまりにも多くのアプリケーションがあるため、常にこれを行っています。新しくコンパイルした DLL を GAC に叩きつけることができます。これは MSFT などでは推奨されていませんが、約 GAC の 4000 dll と 1200 BT アプリケーション。メタデータが同一で​​あること、つまり同じバージョン、キー トークンなどを持っていることを確認する必要があります。また、バージョン管理システムの外部で dll を追跡する何らかの方法が必要になる場合があります (これを行うためのカスタム展開インフラストラクチャを構築します)。 )。最後に、dll を GAC にプッシュしたら、biztalk サービスを再起動する必要があります。再展開するアプリを参照しているインスタンスが中断されていないことを確認してください。これにより、biztalk が再起動時に GAC から新しい参照を取得できなくなります。

最後に、変更によって MessageBox サブスクリプションの変更が必要な場合 (受信形状フィルターの変更、相関関係など)、このメソッドは機能しないことに注意することが重要です。これを使用すると、オーケストレーション デバッガーの一部の機能も放棄されます。オークの構造を変える方法。グラフィックは、最後に正しくインストールされたときのオーケストレーションの構造を表示しますが、イベント リストは最新バージョンに対して正しいものになります。最後に、スキーマ dll を置き換える場合は、BT がスキーマを無期限にキャッシュするため、サービスを再起動することを二重に確認する必要があります。

于 2011-05-27T15:34:16.873 に答える