Azure模拟器加载不正确的库

时间:2013-10-01 12:56:12

标签: azure version emulation nuget

情况如下:

假设我有一个带有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),因此类型和方法(例如MyObject) )在A 1.5中添加并由我的项目使用,无法识别。

我得到的是: “无法从程序集'A,Version = 1.4,Culture = neutral,PublicKeyToken = null'加载类型'MyObject'。” 我当然用A和1.4替换了真实姓名和版本号:)

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

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

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