【发布时间】:2016-10-19 22:00:43
【问题描述】:
我有一个 Web 应用程序,它有两个以 DLL 形式引用的程序集。让我们调用 DLL Primary.dll 和 Secondary.dll。 Secondary.dll 依赖于 Primary.dll。
我需要向 Primary.dll 添加一项功能,以便在 Web 应用程序中使用。这需要一个新版本。 Secondary.dll 不需要此新功能。 Secondary.dll 没有重大更改。
现在,当 Secondary.dll 中的一些代码被触发时,我收到以下错误:
“无法加载文件或程序集 'Primary.dll' 或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。”
Secondary.dll 正在寻找 Primary.dll 的特定版本
这是否可以通过在 Secondary.dll 项目文件中设置 SpecificVersion="false" 值来解决?
如果没有,我考虑将旧版本的 Primary.dll 保留在 GAC 中,这样 Secondary.dll 就会在那里找到它。但如果可能的话,我想避免这种情况。
所以现在每次我对 Primary.dll 进行更改以供 Web 应用程序使用时,我都不得不重建和重新版本 Secondary.dll,并引用更新后的 Primary.dll。
p>有没有办法让我不必更新 Secondary.dll 对新版本 Primary.dll 的引用?
【问题讨论】:
-
您正在签署您的程序集吗?
-
只有primary.dll被签名。但它是secondary.dll的一个选项
标签: c# .net visual-studio dll