Unable to load System.Threading.Tasks.Extensions 4.2.0.0 using rabbitMQ

2

So, we are updating our RabbitMQ dll at a project that is perfectly working from RabbitMQ 5.0.1 to 6.2.1 and I cant use the Factory.CreateConnection() method, as it gives me an inner exception

Could not load file or assembly 'System.Threading.Tasks.Extensions, Version=4.2.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

Packages.config

  <package id="System.Threading.Channels" version="4.7.1" targetFramework="net461" />
  <package id="System.Threading.Tasks.Extensions" version="4.5.4" targetFramework="net461" />

tried reinstalling nuget packages but same trouble. Do any one have some tips what can be? Checked both versions of project (with old Rabbit Client vs new), Factory object seems to be exactly equal (with some different propierties, of course), so dont really know what to do.

Only found out a slightly difference on the IEndPointResolver(Top one is with the new version of RabbitMQ).

IEndPointResolver_Difference

PS: Using C# on Visual Studio 2017

Thanks for any advice given =)

c#
rabbitmq
nuget-package
asked on Stack Overflow Nov 16, 2020 by Federico Crovetto • edited Nov 16, 2020 by Babak Naffas

1 Answer

0

Check the executing application's config file (web.config for WebForms or ASP.NET MVC or app.config for WinForms apps). You may have a bindingRedirect entry that's forcing the app to a specific version. See https://docs.microsoft.com/en-us/dotnet/framework/configure-apps/redirect-assembly-versions

If that's the case, either remove the entry altogether (assuming all class libraries and your dependencies have the same version of RabbitMQ.Client or update the redirect to your new version.

answered on Stack Overflow Nov 16, 2020 by Babak Naffas

User contributions licensed under CC BY-SA 3.0