Assembly (programming) explained

Assembly (programming) should not be confused with Assembly language.

In computer programming, an assembly is a runtime unit consisting of types (such as classes and interfaces) and other resources. All types in an assembly share the same version number. An assembly typically corresponds to a single file (such as a .dll or .exe), but can consist of multiple files linked together by a manifest that serves as a table of contents describing the assembly's metadata and structure.

While an assembly often contains types from a single namespace and serves one program, it can span multiple namespaces. Conversely, a single namespace can be distributed across multiple assemblies, providing flexibility in code organization and deployment.

In C#, an assembly is the smallest deployment unit used, and is a component in .NET. In Java, it is a JAR file.[1]

Creation of an assembly

Every compilation creates either an assembly or a module in C#. It is possible to add other modules with the assembly linker (al). 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.[2]

Notes and References

  1. Web site: Mössenböck . Hanspeter . 2002-03-25 . Advanced C#: Variable Number of Parameters . 2011-08-05 . Institut fĂŒr Systemsoftware, Johannes Kepler UniversitĂ€t Linz, Fachbereich Informatik . 37.
  2. Web site: 2011-08-05. 2002-03-25. Hanspeter. Mössenböck. 38–40. Institut fĂŒr Systemsoftware, Johannes Kepler UniversitĂ€t Linz, Fachbereich Informatik. Advanced C#: Variable Number of Parameters.