Definition
The C# compiler packages each project or assembly definition into a managed assembly. The file holds the IL for every method, the metadata that names every type and member, and any embedded resources. The runtime loads the assembly, reads the metadata, and compiles the IL as needed. Unity game scripts end up in Assembly-CSharp.dll unless you split them with assembly definitions.
Relevance
A managed assembly is the unit the runtime loads. One file holds the IL for your methods and the names of your types, which is why a Mono player can ship game scripts as Assembly-CSharp.dll and run them without a second compile.
Example
The Managed folder of a Mono build contains Assembly-CSharp.dll next to the engine assemblies. That one file is the compiled game scripts. The assemblies beside it are Unity's.
Connected
Synonyms
.NET assembly