In computer programming an assembly is a runtime unit consisting of types and other resources.
In large designs, an assembly may consist of multiple files that are held together by a manifest (i.e. a table of contents).
In C#, an assembly is the smallest deployment unit used, and is a component in .NET.
A speciality of Java is to create a *.class file for each class, which is not the case in C#.
The creation can be activated by compiler switches, like csc /addmodule:Y.netmodule A.cs that yields a new A.exe with Y added to this assembly.