I reread about the namespace and build, and something caught on these words.

Namespaces and assemblies

The using directive simply places the namespace elements in scope and frees you from having to use a full classification in code names. Classes are compiled into assemblies.

An assembly is a file for whose name the .dll extension is usually used, although, strictly speaking, executable programs in files with the .exe extension are also assemblies.

An assembly may contain many classes. The classes included in the .NET Framework class library, such as System.Console , are provided in assemblies that are installed on your computer with Visual Studio. You will see that the .NET Framework class library contains thousands of classes. If they were all contained in one assembly, it would be too large and difficult to maintain. (If Microsoft needed to update just one method in one of the classes, then it would have to distribute the entire class library to all developers!)

Therefore, the .NET Framework class library is divided into a number of assemblies, separated by functional areas, which include the classes contained in them.

  • one
    There is no difference. Just under the library, the authors in this context of the book imply a set of several dll. - PashaPash

1 answer 1

An assembly is a file that contains MSIL code, metadata, and resource data (text, images, etc.).

An assembly without an "entry trigger point" , i.e. Without static void Main(string[] args) is called a class library or just a library , such a file is assigned by the compiler the file extension dll . If in the assembly there is a class that has this "input launch point" , then such an assembly is considered an executable file and acc. has an exe extension.

What is the difference between a build and a library?

A library is a special kind of assembly or, if you wish, a file.

The quote you give is a vivid example of an unsuccessful Russian translation. The English word assembly can really be translated as an сборка . However, in the paragraph about the device of the .Net Framework namespace, the Russian word assembly introduces some ambiguity because of its additional meaning, which is not in the English word assembly .

Well, you do not worry much. Next, you will find, for example, such a word as Stream , which translates two different English words, Stream and Thread , which of course mean two completely different things.