CLR在运行时使用的DLL

时间:2012-07-21 15:21:55

标签: c# .net dll clr

我有一个引用.NET DLL的C#应用​​程序 如果此DLL在我的应用程序的bin目录和GAC中都存在,那么 哪一个将在运行时由CLR拾取?如果GAC有最新版本,是否会使用该版本而不是bin中的版本?

如何强制CLR始终使用bin而不是GAC中的那个?

According to MSDN

  

CLR检查全局程序集缓存,配置文件中指定的代码库,以及   然后检查应用程序的目录和子目录。

那么,这是否意味着它首先考虑GAC? 感谢。

1 个答案:

答案 0 :(得分:1)

您强制CLR 在GAC中使用程序集的副本,而不是在GAC中。通过重命名DLL或在项目中引用DLL之前更改其[AssemblyVersion],可以轻松完成。跳过此操作会调用令人讨厌的运行时异常,也称为DLL Hell。