.net如何决定加载哪个程序集?

时间:2015-05-26 08:20:10

标签: c# .net

我试图了解.net如何决定加载哪个版本的程序集。 作为测试,我在ildasm中打开了第三方程序的一个程序集。 在清单中我找到以下内容:

.assembly extern mscorlib
{
    .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )            // .z\V.4..
    .ver 2:0:0:0
}

由于CLR版本为2.0,程序使用.net 2.0,3.0或3.5。 我在计算机上找到了61个版本的mscorlib.dll。当我运行sn -T工具时,我发现其中一些具有与上面相同的公钥。使用程序集绑定日志查看器我确切地找到了哪个.net实际使用(3.5.1一个),但.net如何决定这个?在我看来,清单中的信息是不充分的。我希望清单包含另一个唯一标识.dll的密钥。此外,我希望这个密钥是.dll的CRC校验和,以确保.dll没有被篡改。

0 个答案:

没有答案