3

BizTalkの移行中に、2台のサーバーからのGAC(グローバルアセンブリキャッシュ)を比較するための簡単で信頼できる方法が必要です。また、GACが移行先サーバーに存在しない場合は、GACをQAから本番環境に移動したいと思います。これらは両方ともBizTalkサーバーであり、GACされた多数のアセンブリがあります。私はいくつかのツールをオンラインで見ましたが、1つのツールへのリンクが壊れていて(winmerge)、他のツールは本当に本物ではないようでした。ご協力いただきありがとうございます。

4

1 に答える 1

6

GACで何かを見つける必要があるときはいつでもGacutil.exe /l > c:/gac.txt、Visual Studio(または、それが利用できない場合はWindows SDK)コマンドプロンプトから実行し、テキストエディターで出力ファイルを検索します。両方のマシンでこれを実行し、BeyondCompareなどのツールを使用して2つのGACの内容を比較できます。Beyond Compareでは、ディレクトリ比較も実行できるため、GACの内容のリストをエクスポートするよりも簡単な場合があります(この回答の次の部分に従う場合)。

アセンブリをエクスポートするには、http://blogs.msdn.com/b/johnwpowell/archive/2009/01/14/how-to-copy-an-assembly-from-the-gac.aspxの手順に従ってください。 GACを通常のWindowsディレクトリのように動作させ、必要なファイルをコピーして貼り付けることができるようにします。

ただし、最良のオプションは、BizTalkアセンブリをパッケージ化されたMSIファイルに入れて、必要なBizTalkサーバーにインポートする(そして実際にGACに実行する)ことです。これにより、 GACingでは不十分な場合が多いため、必要なものがBizTalkデータベースにあることが保証されます。

ただし、MSIファイルの準備がまだ整っていない場合は、今がそれらを作成する良い機会です。ローカルGACを参照可能にした場合は、アセンブリを参照して、必要なBizTalkアプリケーションにリソースとしてアセンブリを追加し、アプリケーションをMSIファイルとしてエクスポートするのが簡単です。このファイルにはアプリケーションのすべてのリソースが含まれます。そうすれば、すべてを完全に手動で行う必要はありません。

すべてを新しいサーバーに展開する準備ができていない(そして文書化されていない)ことは、災害が発生したとき、または負荷分散のために別のBizTalkサーバーを追加する必要がある場合に自分がバインドに陥っているのを見つけるための優れた方法です。

于 2011-07-07T12:56:53.500 に答える