带有RabbitMQ.Client.dll异常的Microsoft.Diagnostics.Tracing.EventSource

为什么会出现以下错误,该如何解决?

  

RabbitMQ.Client.dll中发生了'System.IO.FileLoadException'类型的未处理异常   无法加载文件或程序集“ microsoft.Diagnostics.Tracing.Eventsource,版本= 1.1.28.0,区域性=中性,PublicKeyToken = b03f5f7f11d50a3a”或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。 (来自HRESULT的异常:0x80131040)

更新

在下面的评论部分中的评论之后,我试图在 Visual Studio 2019 中找到 microsoft.Diagnostics.Tracing.Eventsource 。我为此使用了快捷方式Ctrl + Shift + T,但仍然找不到该文件。文件可以放在哪里?

enter image description here

xiaoge1073 回答:带有RabbitMQ.Client.dll异常的Microsoft.Diagnostics.Tracing.EventSource

您并不孤单-这是RabbitMQ .NET客户端的known issue,在rabbitmq-users mailing list上也进行了讨论。

此修复程序将随客户端的下一个主要版本(v6)一起提供。在此之前,一种解决方法可能是降级nuget程序包

Microsoft.Diagnostics.Tracing.EventSource.Redist

到特定版本1.1.28.0。 (在问题的discussion中提出了建议。)here解释了如何降级-注意,在第二步中,您需要选择上述特定版本,而不是最新版本。

我的团队最近遇到了相同的问题,我们目前正在测试此变通方法。

更新(2020-02-03):我们已经成功测试了解决方法;该应用程序不再崩溃。

我还可以添加对Nair评论的简短解释。在安装了合适的旧版本nuget软件包之后,您可以在解决方案资源管理器中通过扩展项目的引用并查看引用的属性来验证您是否确实具有1.1.28.0版本。

The Properties Window for Microsoft.Diagnostics.Tracing.EventSource.Redist DLL in the Solution Explorer

根据需要,屏幕截图显示了旧版本1.1.28.0。当然,您可以通过这种方式随时查找所引用的DLL的版本。

更新(2020/07/13):rabbitmq .NET客户端的版本6已发布。在我们的团队中,我们仍然无法更新,因为我们需要等待NServiceBus包装器的对应版本6,但这将是released as well within the next few weeks

本文链接:https://www.f2er.com/3074230.html

大家都在问