2

我有一个强命名的 c# 程序集:Strong.Named.Assembly.dll。它具有InternalsVisibleTo带有其公钥的属性,用于另一个程序集:[assembly: InternalsVisibleTo("Another.Assembly, PublicKey=xxx")]. Anoter.Assembly尚未签署。所以我也无法引用 中的类,Strong.Named.Assembly直到我也唱了Another.Assembly

为什么不能将强命名程序集的内部显示给未签名的程序集?

4

1 回答 1

3

看看 MSDN InternalsVisibleToAttribute 类。文档明确指出“当前程序集和友元程序集都必须未签名,或者两个程序集都必须使用强名称签名。”

我认为原因很明显。它保证您授予内部访问权限的程序集在将来发生更改时不会攻击您的实现。

于 2017-10-23T08:21:19.697 回答