2017-04-14 15 views
0

.netとMQクライアントv8.0.0.5を使用してIBMメッセージキューに接続しようとしていますが、次のエラーが表示され続けます。XMSFactoryFactory.GetInstance(XMSC.CT_WMQ)が致命的なエラーを返しました:XMSFactoryFactoryを初期化できませんでした

Fatal error. Failed to initialize XMSFactoryFactory

Could not load file or assembly 'IBM.XMS.Client.Impl, Version=8.0.0.5, Culture=neutral, PublicKeyToken=d2666ab12fca862b' or one of its dependencies.

The system cannot find the file specified.":"IBM.XMS.Client.Impl, Version=8.0.0.5, Culture=neutral, PublicKeyToken=d2666ab12fca862b

は、ここで私はこれまで何をやったかです:私のマシンで

  • インストールMQクライアントv8.0.0.5(x64)の。
  • 参考に以下のアセンブリ:
  • amqmdnet.dll
  • amqmdnsp.dll
  • IBM.XMS.dll
  • IBM.XMS.Admin.dll
  • IBM.XMS amqmdxcs.dll .Client.Impl.dll
  • IBM.XMS.NLS.dll
  • IBM.XMS.Provider.dll
  • IBM.XMS.Util.dll

私のマシンにバージョンv7.5.0.4がインストールされており、キューに接続する際に問題はありません。

私が気づいたもう1つのことは、GACにv8.0.0.5用のアセンブリは存在しませんが、v7.5.0.4用のアセンブリが存在することです。それが理由だろうか?

両方のバージョンが正常に動作するまで、残念ながらv7.5.0.4を削除できません。

答えて

2

はい、MQ v8.0.0.5 XMS .NETアセンブリがGACに存在しない可能性があります。

リダイレクトを使用する代わりに、アプリケーションに必要なアセンブリの正しいバージョンを使用するためにapp.configファイルを更新する方法があります。 MQインストールディレクトリに、NonPrimaryRedirect.configというファイルがないか調べます。このファイルには、アプリケーションがMQ/XMS .NETアセンブリの特定のバージョンを探すために必要なサンプル構成が含まれています。このファイルの内容をアプリケーションのapp.configファイルにコピーして試してください。すべてのhref属性が正しいパスを指していることを確認する必要があります。

+0

これは私のためでした。 app.configを更新して 'IBM.XMS.Client.Impl.dll'のファイル参照を追加すると、コードは他のアセンブリに対して同じエラーをスローし始めました。私がそれらを一つずつ追加した後、コードは別のエラーを投げ始めました。私は書き留めませんでした。 Q8.0.0.5アセンブリをGACに登録するには、MQフォルダに 'amqiRegisterdotNet.cmd'を実行したことを伝えてください。その後、私は別のエラーを受け取りました。これは、他のものと同じ方法でapp.configに 'amqmdnet.dll'というアセンブリを追加することで解決しました。問題が解決しました。私は現在キューにメッセージを読み書きできます。 – Vishal

関連する問題