我正在尝试使用MSMQ,如下所示
string _QueueName = "\\MyServer\MyQueue";
if ( MessageQueue.Exists(_QueueName) ) // Error here
{
_Queue = new MessageQueue(@"FormatName:DIRECT=OS:" + _QueueName);
_Queue.Formatter = new XmlMessageFormatter(new Type[] { typeof(MyItem) });
}
我的应用程序在Windows 7 64位计算机上成功编译并运行。如果我在Windows 8.1上使用相同的dll并在8.1上运行而没有编译,我会收到此错误
尝试加载格式不正确的程序。 (HRESULT异常:0x8007000B)
请注意,两者都是64位机器。我在两台机器上都安装了MSMQ Windows功能。任何想法可能是什么问题?
事件查看器显示
MyApplication.MyFunction中的错误尝试加载格式不正确的程序。 (HRESULT异常:0x8007000B)
Call Stack:
at
System.Messaging.Interop.SafeNativeMethods.IntMQPathNameToFormatName(String pathName, StringBuilder formatName, Int32& count)
at System.Messaging.Interop.SafeNativeMethods.MQPathNameToFormatName(String pathName, StringBuilder formatName, Int32& count)
at System.Messaging.MessageQueue.ResolveFormatNameFromQueuePath(String queuePath, Boolean throwException)
at System.Messaging.MessageQueue.Exists(String path)