Przestrzenie nazw wpływają tylko na rozpoznawanie nazw. Przestrzenie nazw nie implikują żadnego rodzaju przestrzeni dyskowej, ani przestrzeni nazw nie określają, które biblioteki DLL zawierają twój kod. Przestrzenie nazw umożliwiają grupowanie powiązanych obiektów pod nazwą logiczną, nawet jeśli fizycznie znajdują się w różnych bibliotekach DLL.
Zespół jest w zasadzie zwykłym plikiem DLL lub EXE. Zawiera kod IL i informacje o typie, które opisują kod w tej bibliotece DLL lub EXE. Może zawierać wiele innych rzeczy, ale na początek wystarczy pomyśleć o nim jako o DLL.
Umieszczasz kod w konkretnym zestawie, kompilując kod do projektu (csproj), który tworzy bibliotekę DLL lub EXE.
Przestrzeń nazw może obejmować wiele złożeń. Oznacza to, że klasy będące członkami tej logicznej przestrzeni nazw mogą znajdować się w wielu bibliotekach DLL. Dostęp do określonej klasy w kodzie źródłowym można uzyskać tylko wtedy, gdy projekt odwołuje się do prawidłowego zestawu (DLL) zawierającego tę klasę.
Wewnętrzny modyfikator oznacza, że symbol można uzyskać tylko z tego samego zestawu. Tylko kod, który jest kompilowany w tej samej bibliotece DLL, co twój kod, może uzyskać dostęp do twoich właściwości lub metod oznaczonych tagami wewnętrznymi.
Proszę spojrzeć na program ".Net Reflector". To pozwoli ci otworzyć zespół i zobaczyć, co w nim jest. Zobaczysz, że pojedynczy zespół może zawierać wiele przestrzeni nazw. – David