An internal type or internal member in an assembly can now be accessed from another assembly.  Yes, you heard right.  There is a new assembly level attribute that allows you to give one assembly access to another assembly's internal types and members – it’s called InternalsVisibleToAttribute attribute.   However, this new attribute is only available in C# (sorry, VB.NET developers).

Here is the usage example:  [assembly:InternalsVisibleTo("MyOtherAssembly")]

Note:  if assembly A gives assembly B access to its internal types and members, and then assembly B, in its turn, gives assembly C access to its members, assembly C does not automatically become a friend of assembly A.