Incompatible with RabbitMQ.Client 5.0.1
See original GitHub issueAfter upgrading RabbitMQ.Client to latest stable version (which according to NuGet is 5.0.1 at the time of reporting) and using latest EasyNetQ 2.0.4, I get following exception when registering new Bus:
Method not found: 'Void RabbitMQ.Client.ConnectionFactory.set_uri(System.Uri)'.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.MissingMethodException: Method not found: 'Void RabbitMQ.Client.ConnectionFactory.set_uri(System.Uri)'.
Full stack trace
[MissingMethodException: Method not found: 'Void RabbitMQ.Client.ConnectionFactory.set_uri(System.Uri)'.]
EasyNetQ.ConnectionFactoryWrapper..ctor(ConnectionConfiguration connectionConfiguration, IClusterHostSelectionStrategy`1 clusterHostSelectionStrategy) +0
[TargetInvocationException: Exception has been thrown by the target of an invocation.]
System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) +0
System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) +241
EasyNetQ.DefaultServiceProvider.CreateServiceInstance(Type implementationType) +131
EasyNetQ.DefaultServiceProvider.Resolve() +248
[TargetInvocationException: Exception has been thrown by the target of an invocation.]
System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) +0
System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments) +87
System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) +101
EasyNetQ.DefaultServiceProvider.Resolve(Type serviceType) +126
EasyNetQ.DefaultServiceProvider.<CreateServiceInstance>b__8_0(ParameterInfo parameterInfo) +25
System.Linq.WhereSelectArrayIterator`2.MoveNext() +58
System.Linq.Buffer`1..ctor(IEnumerable`1 source) +133
System.Linq.Enumerable.ToArray(IEnumerable`1 source) +77
EasyNetQ.DefaultServiceProvider.CreateServiceInstance(Type implementationType) +111
EasyNetQ.DefaultServiceProvider.Resolve() +248
[TargetInvocationException: Exception has been thrown by the target of an invocation.]
System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) +0
System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments) +87
System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) +101
EasyNetQ.DefaultServiceProvider.Resolve(Type serviceType) +126
EasyNetQ.DefaultServiceProvider.<CreateServiceInstance>b__8_0(ParameterInfo parameterInfo) +25
System.Linq.WhereSelectArrayIterator`2.MoveNext() +58
System.Linq.Buffer`1..ctor(IEnumerable`1 source) +200
System.Linq.Enumerable.ToArray(IEnumerable`1 source) +77
EasyNetQ.DefaultServiceProvider.CreateServiceInstance(Type implementationType) +111
EasyNetQ.DefaultServiceProvider.Resolve() +248
EasyNetQ.RabbitHutch.CreateBus(ConnectionConfiguration connectionConfiguration, AdvancedBusEventHandlers advancedBusEventHandlers, Action`1 registerServices) +287
EasyNetQ.RabbitHutch.CreateBus(String hostName, UInt16 hostPort, String virtualHost, String username, String password, UInt16 requestedHeartbeat, AdvancedBusEventHandlers advancedBusEventHandlers, Action`1 registerServices) +287
EasyNetQ.RabbitHutch.CreateBus(String hostName, UInt16 hostPort, String virtualHost, String username, String password, UInt16 requestedHeartbeat, Action`1 registerServices) +152
// my method // +120
It seems that EasyNetQ is using deprecated properties of RabbitMQ-s ConnectionFactory (although RabbitMQ-s changelog says that uri and Uri setters in ConnectionFactory were made obsolete, they’re actually removed and readded so that final state is that instead of public property uri
which EasyNetQ is using there is now a private field uri
).
Issue Analytics
- State:
- Created 6 years ago
- Comments:8 (5 by maintainers)
Top Results From Across the Web
The RabbitMQ .NET client is an implementation ...
NET client is an implementation of an AMQP 0-9-1 client library for C# (and, implicitly, other .NET languages). Release Series. The following table...
Read more >RabbitMQ DotNet for VisualStudio 2013
1'. Successfully uninstalled 'RabbitMQ.Client 5.0.1'. Install failed. Rolling back… Install-Package : Could not install package 'RabbitMQ ...
Read more >RabbitMQ.Client 6.5.0
The RabbitMQ .NET client is the official client library for C# (and, implicitly, other .NET languages). Product, Versions Compatible and additional computed ...
Read more >RabbitMQ and ServiceStack Compatibility? - Rabbit MQ
Client version different? I tried several of the other client libraries with same results, just seems to be 5.0.1 that's working well.
Read more >nuget - Could not install package '--'. You are trying to ...
Your package targets NETFramework,Version=v4.5.2. That means the assembly folder is lib\net452. You are trying to install the package to a ...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
Usually major version increment is done when there are incompatible changes. So it is always good idea to restrict library to one single major version. The point is that when you upgrade EasyNetQ to support version RabbitMQ.Client 5, it wont be compatible with version 4… so restrictions to new release should be added anyway.
@tasoss you can use the latest pre-release for RMQ 5.0.
Unfortunately we’re unable to build a stable release now as Ninject doesn’t have a stable 4x release yet, which is blocking the building of our stable packages with the current process. https://www.nuget.org/packages/ninject