我用c#创建了一个COM对象,让VS为我注册。我可以在注册表中看到它,如果我创建一个测试应用程序,我可以添加对它的引用,它可以正常工作,所有方法都可用且功能齐全。
现在,如果我尝试在MSMQ规则中使用它,则不会发生任何事情。它不会被调用。这是因为它是.NET程序集吗?是因为我没有VS Pro吗?你有什么想法吗?
答案 0 :(得分:1)
您有没有机会在映射的网络驱动器上注册您的组件? MSMQ在不同的WinStation中运行到交互式WinStation。在交互式WinStation中映射的网络驱动器在其他WinStations中不可见,这可能导致您描述的症状(未找到组件)。
答案 1 :(得分:0)
您需要检查系统事件日志中的错误消息(eventvwr.exe)。如果您的组件已注册且MSMQ已正确配置为激活您的组件但它失败,则很可能问题在于权限。事件日志应包含问题的详细信息。
答案 2 :(得分:0)
更新!!!
我再次搞砸了这个。我收到一条消息时创建了一个简单的EXE来触发。它接受2个字符串参数。
我第一次忘记传递参数,因为我之前的描述,我得到了相同的错误。关于未找到COM对象。我通过参数并且工作正常。
我以为我将参数传递给我的COM对象就好了,但也许没有。也许我做错了什么。我将创建一个没有参数的COM,看看我是否可以强制COM调用。
如果有人作为创建对象接受参数的示例,请告诉我。