因此,我们在一个从RabbitMQ 5.0.1到6.2.1的项目中更新我们的RabbitMQ dll,而我不能使用Factory.CreateConnection()方法,因为它给了我一个内部异常
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" />尝试重新安装nuget包,但同样的问题。有没有人有什么可以做的小贴士?检查了项目的两个版本(使用旧的Rabbit客户端和新的),Factory对象似乎是完全相同的(当然,有一些不同的属性),所以不知道该怎么做。
只发现了IEndPointResolver上的细微差别(排在第一位的是新版本的RabbitMQ)。
PS:在Visual Studio 2017上使用C#
感谢您的建议=)
发布于 2020-11-17 03:36:17
检查执行应用程序的配置文件(对于WebForms或ASP.NET MVC为web.config,对于WinForms应用程序为app.config )。您可能有一个强制应用程序到特定版本的bindingRedirect条目。请参阅https://docs.microsoft.com/en-us/dotnet/framework/configure-apps/redirect-assembly-versions
如果是这种情况,要么完全删除该条目(假设所有类库和依赖项都具有相同版本的RabbitMQ.Client ),要么将重定向更新到新版本。
https://stackoverflow.com/questions/64864134
复制相似问题