2014-10-29 99 views
1

嗨,我有以下错误,当我运行一个.net应用程序难度运行.NET MQ应用程序

D:\Program Files\AscentSS\AscentSV\Staging\SimplePut>SimplePut -q ESB.BAT1.SERVICES.KOFAX.DOC.METADATA -h 10.49.97.31 -p 1417 -l BLI1.KOFAX.CLIENT 
Start of SimplePut Application 

Exception caught: System.IO.FileNotFoundException: Could not load file or assembly 'amqmdnet, Version=7.5.0.1, Culture=neutral, publicKeyToken=dd3cb1c9aae9ec97' or one of its dependencies. The system cannot find the file specified. File name: 'amqmdnet, Version=7.5.0.1, Culture=neutral, PublicKeyToken=dd3cb1c9aae9ec97' 
    at SimplePut.SimplePut.PutMessages() 
    at SimplePut.SimplePut.Main(String[] args) in C:\Users\youngj\Documents\Visual Studio 2010\Projects\SimplePut\SimplePut.cs:line 102 

WRN: Assembly binding logging is turned OFF. 
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1. 
Note: There is some performance penalty associated with assembly bind failure logging. 
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog]. 

Sample execution FAILED! 

End of SimplePut Application 

然而,同样的公共令牌文件确实存在:

D:\Program Files\IBM\WebSphere MQ\bin>"C:\Program Files\Microsoft SDKs\Windows\v 
7.0A\bin\sn" -T amqmdnet.dll 

Microsoft (R) .NET Framework Strong Name Utility Version 3.5.30729.1 
Copyright (c) Microsoft Corporation. All rights reserved. 

Public key token is dd3cb1c9aae9ec97 

有任何想法吗?应用程序在x64 Win7上编译。试图在x32 Win2003服务器上运行它。谢谢。

+0

据透露,全7.5.0.1 MQ客户端安装。 – 2014-10-29 18:42:32

+0

尝试将'amqmdnet.dll'复制到'system32'和'syswow64' – Hackerman 2014-10-29 18:44:40

回答

1

MQs .NET层不是一个DLL,它是其中的一些(amqmdxcs,amqmdnet,amqmdmsg等) - 特别是自7.0.1版本以来。您是否实际安装了MQ服务器/客户端软件,或者您是否尝试部署一个引用了MQ的应用程序,并期望它随MQ部件一起部署?

尝试在MQ产品正确安装的计算机上运行您的代码 - 如果7.1或更高版本,您需要将其设置为主要(默认为)以获取在GAC中注册的MQ部件,或者需要配置文件指向文件系统上的MQ dll。看一下Tools \ dotnet \ samples \ cs \ base,然后尝试让基本样本先工作。

如果一切都失败了,做什么instructios告诉你,并启用日志记录,看看它显示了:-)