私はWindowsサービスとしてホストされ、MSMQエンドポイントを公開するWCFサービスを開発しました。DLL 'mqrt.dll'を読み込めません
私はクライアントアプリケーションをSERVER1に、MSMQとWCFサービスをSERVER2に持っています。
SERVER1/ClientAppがSERVER2 MSMQの上でメッセージをプッシュしようとすると、私は次のようerrrorを得る:
System.TypeInitializationException: The type initializer for 'System.ServiceModel.Channels.Msmq' threw an exception. ---> System.DllNotFoundException: Unable to load DLL 'mqrt.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
at System.ServiceModel.Channels.UnsafeNativeMethods.MQGetPrivateComputerInformation(String computerName, IntPtr properties)
at System.ServiceModel.Channels.MsmqQueue.GetMsmqInformation(Version& version, Boolean& activeDirectoryEnabled)
at System.ServiceModel.Channels.Msmq..cctor()
--- End of inner exception stack trace ---
at System.ServiceModel.Channels.Msmq.EnterXPSendLock(Boolean& lockHeld, ProtectionLevel protectionLevel)
at System.ServiceModel.Channels.MsmqOutputChannel.OnSend(Message message, TimeSpan timeout)
at System.ServiceModel.Channels.OutputChannel.Send(Message message, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
Exception rethrown at [7]:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at FacilityManager.Service.NotificationsProcessorServiceReference.INotificationsProcessor.SendNewReactiveTaskNotifications(NewReactiveTaskDataContract newReactiveTaskDataContract)
SERVER1とSERVER2の両方が、Windowsサーバー2008 R2エンタープライズ(6.1 SP1)を実行していると、どちらも、サーバーマネージャーの機能の追加を使用してMSMQをインストールしています。
私は、DLLが見つからないことを理解していますが(エラーからはっきりしています!)、どこにインストールする必要があるのか分かりません。
Windowsエクスプローラの検索はDLLが両方のサーバー上で次のディレクトリに存在していることを示して....
- C:\ WINDOWS \ System32に
- C:\ WINDOWS \ SYSWOW64
- C:\ WINDOWS \ winsxs \ん。X86 microsoft-WindowsのMSMQ-ランタイムcore_31bf3856ad364e35_6.1.7601.17514_none_5768e2ad17453bd6
- C:\ WINDOWS \ winsxs \ん。Amd64 microsoft-WindowsのMSMQ-ランタイムcore_31bf3856ad364e35_6.1.7601.17514_none_b3877e30cfa2ad0c
助けてください。
フュージョンロギングをオンにし、バイナリで[Dependency Walker](http://www.dependencywalker.com/)を使用することもできます。 –
また、クライアントマシンにmsmqを再インストールすることをお勧めします。 –