One of the features missing from Visual Basic 2005 was support
for what is known as friend assemblies. We are currently working
on enabling Friend Assemblies for the next version of Visual
Basic (code named Orcas). I wanted to share with you some of the
nice things about friend assemblies and some of the gotchas.
Much of the discussion applies equally well to C#, which
supported friend assemblies in Visual C# 2005.  Declaring
another Assembly as your friend  To declare another assembly A
as your friend, simply insert the attribute
InternalsVisibleTo("A"). I recommend that you put this in
assemblyinfo.vb, where the rest of the assembly attributes go.
One of the rules regarding friend assemblies is that if the
declaring assembly is a strong name assembly (that is, that it
specifies a key file/container), then you can only declare
friends that are also strong name assemblies. This means that
you must specify the entire 128 bit public key in the
InternalsVisibleTo attribute: InternalsVisibleTo("A,
PublicKey=<128