Azure 模拟器加载不正确的库



情况如下:

假设我有一个包含 2 个 nuget 库引用的项目 - lib A 和 B:

  • A 的版本为 1.5
  • 但 B 引用了 A 的旧版本,例如 1.4

在VS中,一切都可以正确编译和运行(我猜是因为A 1.5实现了1.4所需的所有功能(。

但是在 Azure 模拟器中运行会导致立即的 TypeLoadException,大概是因为加载了旧版本的 A(我认为这是因为首先加载了 B,并且它的依赖项是 A 1.4(,因此无法识别在 A 1.5 中添加并由我的项目使用的类型和方法(例如 MyObject(。

我得到的正是:"无法从程序集'A,版本=1.4,区域性=中性,公钥令牌=空'加载类型'MyObject'。"我用 A 和 1.4 替换了真实名称和版本号,当然:)

我知道一种解决方案是更新 B 以使用 A 1.5,但是还有其他方法可以解决此问题吗?如果有其他库B,C,D,E...使用 A 1.4,我会更新所有这些中对 A 的引用......

感谢您的任何帮助

升级项目以使用最新的 NuGet 包,或尝试将绑定重定向添加到 app.config,以将程序集引用映射到更高版本。

最新更新