程序集的加载位置

本文关键字:位置 加载 程序集 | 更新日期: 2023-09-27 18:32:25

我们有一个Azure服务。它的解决方案包括几个项目。一些项目引用了 azure.storage 版本 4.2.1。根据 nugget.org,azure.storage 的依赖项是 odata、edm 等>= 5.6.0。我们想使用最新的 5.6.3。因此,我们在项目中添加了对版本 5.6.3 中所有依赖程序集的引用(尽管 ILSPY 显示依赖项适用于版本 5.6.0)。但不幸的是,加载的 dll 来自 gac 版本 5.6.0。(不是来自我们使用最新版本引用的路径)如何加载 dll ?

  1. 基于强制从/bin 而不是 GAC 加载程序集? 和 http://msdn.microsoft.com/en-us/library/yx7xezcf.aspx - 它首先从 GAC 加载程序集
  2. 基于 http://blogs.msdn.com/b/manishagarwal/archive/2005/09/28/474769.aspx 和Microsoft.Common.CurrentVersion.target,它应该首先在bin目录中查找 - 而不是gac。

什么是正确的?我如何(完全)实现我想要做的事情?

程序集的加载位置

您正在比较用于编译的程序集的解析与执行时程序集的解析。

你的观点和他们的参考都是正确的,但只针对他们的具体情况。您的 #2 引用解释了编译过程程序集解析,您的 #1 引用讨论了执行过程。