【发布时间】:2014-09-03 12:28:18
【问题描述】:
我们有一个 Visual Studio 包(VS 包),它引用了两个类库项目:项目 A 和项目 B。项目 A 又引用了另一个类库项目(项目 B)。
所以依赖结构看起来像这样: VS 包 -> 项目 A -> 项目 B
所有项目都存在于同一个解决方案中,并且依赖项已设置为正确的项目引用。部署 VS 包时,项目 A 和项目 B 的程序集被部署到 GAC。程序集是强命名的。未指定绑定重定向。
我们部署了同一个 VS 包的多个版本,因此项目 A 和项目 B 程序集的多个版本在 GAC 中。问题是无论执行哪个版本的 VS 包,它总是从 GAC 加载最新的程序集版本。
我们如何强制从 GAC 加载正确版本的程序集,即构建 VS 包项目时使用的版本?
谢谢。
编辑了我的原始帖子以更准确地描述我的情况。
【问题讨论】:
-
你能在你的问题中显示参考文献吗?
-
你能说得更具体一点吗?
-
您的 web.config 中可能有诸如
<add assembly="..." />之类的行引用程序集。 -
程序集通过 ProjectReference 引用:
{2b48b2ba-6ea5-4b1d-a678-97dca29bd223} foo.vcs12 False -
这仅适用于 Visual Studio。在某个地方,部署的站点在运行时告诉框架有关引用的信息。你的 web.config 没有像我展示的那样的行吗?
标签: c# .net .net-assembly gac