默认程序集绑定行为

3
我们正在构建一个API,它存储在一个程序集中,我们称之为MyAssembly.dll。
该程序集的版本号为1.0.0.0。
我期望当发布程序集的新版本时,之前编译并引用了1.0.0.0版本的代码会出现错误,因为程序集绑定会失败(除非使用bindRedirect等额外帮助)。
实际上,我看到的是绑定实际上是成功的。
我已经通过构建具有不同版本的MyAssembly.dll,并尝试运行引用1.0.0.0的各种代码来进行测试。
这是默认行为吗?只有强名称(签名)程序集才会精确绑定到特定版本吗?
谢谢。
1个回答

1

运行时如何定位程序集

默认情况下,运行时会尝试与应用程序构建时使用的确切版本的程序集进行绑定。这种默认行为可以通过配置文件设置来覆盖。

(...)

注意:没有强名称的程序集不进行版本检查,运行时也不会在全局程序集缓存中检查没有强名称的程序集。


太好了!关于何时将程序集放置在全局程序集缓存中是否有什么经验法则? - lysergic-acid
@liortal: 之前SO几乎没什么没讨论过的 :) https://dev59.com/EHE95IYBdhLWcg3wHqMV - Daniel Daranas

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接