有些时候,需要让internal的类型允许部分程序集访问。

在.net 2.0中提供了一个新的特性可以实现这一点,可惜的是,为了安全起见,这些程序集都需要强名称签名。

可以在类库的AssemblyInfo.cs中这样写:

[assembly: InternalsVisibleTo("ClassLibrary2, PublicKeyToken=4dc529a74920bd96")].

这样就可以让ClassLibrary2访问这个程序集的internal类型了。

以下链接详细说明了操作步骤:

http://www.dotnetfun.com/articles/csharp/2.0/WhatsNew20FriendAssemblies.aspx