Что такое сборка C#?

Я знаю, что сборка - это что-то вроде контейнера, который собирает некоторые данные вместе. Но чем предметно сборка отличается от интерфейса например? Когда тот тоже вроде как собирает данные...

Сборка в C# - это один или несколько файлов с кодом (или данными связанными с кодом). Бывают статические сборки и динамические сборки.

Динамические - те сборки, что создаются во время выполнения.

Статические сборки - те сборки, которые хранятся на диске.

По определению, сборка - это блок приложения, чьи ресурсы доступны или только внутри данного блока, или могут экспортироваться наружу.

Пространство имён (он же - неймспейс, namespace) - это логическое соглашение, используемое во время разработки. Сборка же устанавливает область видимости в процессе выполнения. Вот и вся разница)