.NET Fusion加载程序加载程序集引用可以与清单中的引用不同吗?

时间:2013-05-14 09:21:39

标签: .net assembly-resolution

我以为我知道.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之间没有重大变化,但是这应该是异常情况吗?

0 个答案:

没有答案