C# 默认程序集绑定行为
我们正在构建一个存储在程序集中的API,我们称之为MyAssembly.dll 此程序集的AssemblyVersion为1.0.0.0 我预计,当发布程序集的新版本时,以前编译的引用1.0.0.0版本的代码将中断,因为程序集绑定将失败(没有bindRedirect之类的额外帮助) 实际上,我看到的是绑定实际上成功了 我通过构建具有各种不同版本的MyAssembly.dll,并尝试运行引用1.0.0.0的各种代码来测试它 这是默认行为吗?是否仅从强名称(签名)程序集绑定到确切版本 谢谢。 默认情况下,运行时尝试与生成应用程序时使用的程序集的确切版本绑定。此默认行为可由配置文件设置覆盖 (……)C# 默认程序集绑定行为,c#,assemblies,assemblybinding,C#,Assemblies,Assemblybinding,我们正在构建一个存储在程序集中的API,我们称之为MyAssembly.dll 此程序集的AssemblyVersion为1.0.0.0 我预计,当发布程序集的新版本时,以前编译的引用1.0.0.0版本的代码将中断,因为程序集绑定将失败(没有bindRedirect之类的额外帮助) 实际上,我看到的是绑定实际上成功了 我通过构建具有各种不同版本的MyAssembly.dll,并尝试运行引用1.0.0.0的各种代码来测试它 这是默认行为吗?是否仅从强名称(签名)程序集绑定到确切版本 谢谢。 默认情
“注意:对于没有强名称的程序集,不会进行版本检查,对于没有强名称的程序集,运行时也不会在全局程序集缓存中进行检查。”太好了!关于何时在GAC中放置程序集,有什么经验法则吗?@liortal:几乎没有什么是以前没有讨论过的:)