强大的签名与强大的装配命名相同吗?

时间:2011-07-13 11:47:35

标签: c# .net visual-studio-2010

strongly signedstrongly named .NET程序集之间是否存在差异?

如果是,我如何确定程序集是否使用Visual Studio进行强签名(我知道如何检查它是否具有强名称)?

感谢您的帮助

修改

背景:在书WiX: A Developer's Guide to Windows Installer XML中,您需要有一个强签名程序集才能将其安装到GAC中。

那么我需要在GAC中安装程序集:强名称还是签名程序集?

2 个答案:

答案 0 :(得分:5)

签署程序集使其具有强名称。请参阅Strong-named assemblies

为了能够将其安装到GAC中,程序集需要具有强名称,因此需要签名。

答案 1 :(得分:3)

没有strongly signed。只有signedstrongly named

为了确定它是否已签名(强名称与否),请使用 ildasm.exe 打开它,然后单击树上的清单并查看用于公钥令牌。如果有,则签名。

例如,打开castle.core.dll会显示此信息(证明它的名字很强):

 .publickey = (00 24 00 00 04 80 00 00 94 00 00 00 06 02 00 00   // .$..............
                00 24 00 00 52 53 41 31 00 04 00 00 01 00 01 00   // .$..RSA1........
                77 F5 E8 70 30 DA DC CC E6 90 2C 6A DA B7 A9 87   // w..p0.....,j....
                BD 69 CB 58 19 99 15 31 F5 60 78 5E AC FC 89 B6   // .i.X...1.`x^....
                FC DD F6 BB 2A 00 74 3A 71 94 E4 54 C0 27 34 47   // ....*.t:q..T.'4G
                FC 6E EC 36 47 4B A8 E5 A3 82 31 47 D2 14 29 8E   // .n.6GK....1G..).
                4F 9A 63 1B 1A FE E1 A5 1F FE AE 46 72 D4 98 F1   // O.c........Fr...
                4B 00 0E 3D 32 14 53 CD D8 AC 06 4D E7 E1 CF 4D   // K..=2.S....M...M
                22 2B 7E 81 F5 4D 4F D4 67 25 37 0D 70 2A 05 B4   // "+~..MO.g%7.p*..
                87 38 CC 29 D0 92 28 F1 AA 72 2A E1 A9 CA 02 FB ) // .8.)..(..r*.....
  .hash algorithm 0x00008004
  .ver 2:5:1:0
}