【问题标题】:Default assembly binding behaviour默认程序集绑定行为
【发布时间】:2011-06-06 08:16:09
【问题描述】:

我们正在构建一个存储在程序集中的 API,我们称之为 MyAssembly.dll

此程序集的 AssemblyVersion 为 1.0.0.0

我预计,在发布新版本的程序集时,之前编译引用 1.0.0.0 版本的代码会中断,因为程序集绑定会失败(没有像 bindRedirect 这样的额外帮助)。

在实践中,我看到的是绑定实际上是成功的。

我通过构建具有各种不同版本的 MyAssembly.dll 并尝试运行引用 1.0.0.0 的各种代码对其进行了测试

这是默认行为吗?绑定到 EXACT 版本是否只发生在强名称(签名)程序集中?

谢谢。

【问题讨论】:

    标签: c# assemblies assemblybinding


    【解决方案1】:

    How the runtime locates assemblies

    “默认情况下,运行时尝试与构建应用程序的程序集的确切版本绑定。此默认行为可以被配置文件设置覆盖。”

    (...)

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

    【讨论】:

    猜你喜欢
    • 2013-08-16
    • 1970-01-01
    • 2016-03-27
    • 1970-01-01
    • 2017-02-27
    • 1970-01-01
    • 1970-01-01
    • 2010-11-02
    • 1970-01-01
    相关资源
    最近更新 更多