0

我以为我知道 .NET 运行时如何在运行时加载程序集引用,但这种情况引起了我自己的怀疑。

我有一个程序集 Client.exe,它引用了一个程序集 Thirdparty.dll(版本 5.1.0.0)。

Client.exe 指程序集 Analytics.dll (2.1.0.0)

Thirdparty.dll 也指程序集 Analytics.dll (2.0.0.0)(注意这是不同的版本)。

现在,当我运行 Client.exe 时,它​​加载 Thirdparty.dll (5.1.0.0)、Analytics.dll (2.1.0.0) 就好了。

我想知道,为什么对 Thirdparty.dll 的调用不会失败,因为 Thirdparty.dll 的清单中有一个 Analytics.dll (2.0.0.0) 的条目,而这个版本根本没有加载到 AppDomain 中。我们有 Analytics.dll (2.1.0.0)。我知道 2.0.0.0 和 2.1.0.0 之间没有重大变化,但是这应该是例外的情况吗?

4

0 回答 0