c# - 程序集从哪里加载?

标签 c# asp.net azure nuget gac

我们有一个 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 来自版本 5.6.0 的 gac。 (不是来 self 们用最新版本引用的路径) dll是如何加载的?:

  1. 基于 Force load an assembly from the /bin and not the 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.targets 它应该首先在 bin 目录中查找 - 而不是 gac。

什么是正确的?我怎样才能实现我想要做的事情?

最佳答案

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

您的观点和他们的引用资料都是真实的,但仅限于他们的具体情况。您的#2 引用文献解释了编译过程程序集解析,您的#1 引用文献讨论了执行过程。

关于c# - 程序集从哪里加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27189877/

相关文章:

c# - 位容量和位容量之间有什么关系?

c# - 只寻找现有变量

c# - 将Web应用程序部署到生产中的最佳方法

c# - Linq 按匹配数排序

asp.net - 将 Web 应用程序发布到 Azure 网站暂存部署槽因 webjob 失败

c# - XElement:所有叶子的集合?

c# - 是否保证并排安装两个(或更多).NET Framework 版本?

asp.net - 如何在 docker swarm 模式负载均衡器中托管 Asp.net 应用程序

Node.js 应用程序检测在 Azure 上运行

azure - 在 docker 镜像中安装 AzureADPreview Powershell 模块失败