An assembly that can access another assembly’s internal types and members. Ordinarily, types and members with internal scope (in C#) and friend scope (in Visual Basic) are visible only in the assembly in which they are defined. In the .NET Framework, you can make the types and members visible to additional (friend) assemblies by using the InternalsVisibleToAttribute attribute.
A collection of types and resources forming a logical unit of functionality and built to work together that is permitted to access types and members of another collection of the same kind.