The definition for C# internal access modifier is internal: Accessible only within containing assembly or friend assemblies. So my question is what is c# assembly? what does it mean to be within containing assembly or friend assemblies? Does it mean within same namespace or project?
An assembly is (in general) a single .dll
or .exe
file.
A C# project (in general) compiles to a single assembly.
You can mark a friend assembly using the [assembly: InternalsVisibleTo(...)]
attribute.