Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 默认程序集绑定行为_C#_Assemblies_Assemblybinding - Fatal编程技术网

C# 默认程序集绑定行为

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的各种代码来测试它 这是默认行为吗?是否仅从强名称(签名)程序集绑定到确切版本 谢谢。 默认情

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

此程序集的AssemblyVersion为1.0.0.0

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

实际上,我看到的是绑定实际上成功了

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

这是默认行为吗?是否仅从强名称(签名)程序集绑定到确切版本

谢谢。

默认情况下,运行时尝试与生成应用程序时使用的程序集的确切版本绑定。此默认行为可由配置文件设置覆盖

(……)


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

太好了!关于何时在GAC中放置程序集,有什么经验法则吗?@liortal:几乎没有什么是以前没有讨论过的:)