我们正在构建一个存储在程序集中的API,我们称之为MyAssembly.dll
此程序集的AssemblyVersion为1.0.0.0
我希望,在发布新版本的程序集时,之前编译引用到1.0.0.0版本的代码会破坏,因为程序集绑定会失败(没有像bindRedirect这样的额外帮助)。
在实践中,我看到的是绑定实际上是成功的。
我已经通过构建具有各种不同版本的MyAssembly.dll并尝试运行引用1.0.0.0的各种代码来测试它
这是默认行为吗?绑定到 EXACT 版本是仅从强名称(签名)程序集发生的吗?
感谢。
答案 0 :(得分:1)
How the runtime locates assemblies
“默认情况下,运行时尝试使用构建应用程序的程序集的确切版本进行绑定。配置文件设置可以覆盖此默认行为。”
(...)
“注意:没有强名称的程序集没有版本检查,运行时也没有检查全局程序集缓存中没有强名称的程序集。”