将 MassTransit 从 3.4.0 降级到 3.3.1

Downgrading MassTransit from 3.4.0 to 3.3.1

我正在尝试下载 MassTransit 和 MassTransit 从 3.4.0 到 3.3.1 的 DLL 引用。

我用 nuget shell 替换了所有实例,并且我用 AsmSpy 验证没有更多引用 3.4.0 的实例(MassTransit 和 MassTransit 总是被引用为 3.3.1)。

Reference: MassTransit
    3.3.1.0 by MassTransit.RabbitMqTransport
    3.3.1.0 by BusinessLogic
    3.3.1.0 by Contracts

Reference: MassTransit.RabbitMqTransport
    3.3.1.0 by BusinessLogic

尽管如此,当我尝试 运行 抛出此异常的代码时:

A first chance exception of type 'System.IO.FileLoadException' occurred in MyProject.Tests.dll

Additional information: Could not load file or assembly 'MassTransit, Version=3.4.0.0, Culture=neutral, PublicKeyToken=b8e0e9f2f1e657fa' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

我进行了清理、重建,并尝试了几乎所有我能想到的方法。有什么想法吗?

原来是VS的问题。降级库时,nuget 会引用正确的数据包,但 .package 和 .csproj 文件的内容可能仍包含旧(更高)版本。

文本搜索较旧(较高)的库显示需要手动更正的点。