New type of programs - assemblies - Object-oriented programming

A new type of build program

The .NET Framework compilers create managed modules that contain code in the intermediate CIL and metadata. However, the CLR ns can directly use the managed modules. The base unit of protection, version control, and deployment in the .NET Framework is not a managed module, but an assembly (assembly).

A build is a file or set of files that constitute a logical unit. The assembly includes managed modules, as well as other types of files (for example, images). One of the managed modules included in the assembly must contain a declaration (manifest). Physically, the declaration is simply additional metadata. When the compiler creates a managed module that is also an assembly, the declaration is simply placed in the module's metadata. Logically, the declaration is a description of the entire assembly. The most important elements of the declaration are:

• assembly name;

• a list of all the assembly files, along with the cryptographic hash values ​​calculated from the contents of the files;

• a list of data types exported by other assembly files, and information that links these data types to the files where they are defined;

• The version number in the format (for example, 1.0.3705-0).

Most assemblies contain one file, but sometimes they contain several files. All files in the same assembly must be in the same folder. When using the C # compiler a simple EXE module is created, it is not only a managed module, but also an assembly. Most compilers can create managed modules that are not assemblies, and add other files to the assemblies they create. The .NET Framework SDK includes the AL (Assembly Linker) utility to combine files into assemblies. Multi-file assemblies usually serve to combine modules written in different languages, and to combine managed modules with ordinary files containing JPEG images and other resources. Multi-file assemblies are also used to separate applications into separate downloadable parts, which can be useful when deploying an application over the Internet.

In the absence of special instructions, compilers generate non-strictly named (weakly named) assemblies. This means that the assembly does not have a cryptographic signature and to identify it the CLR uses only the name specified in the declaration (which is only the name of the assembly file without the extension). However, assemblies can also be strictly named (strongly named). Such assemblies contain the developer's public key, as well as a digital signature that is a hash value generated for the declaration of the assembly in which the public key is stored.

The digital signature generated with the private key of the assembly creator can be checked with a public key and makes the assembly declaration (and thus the assembly itself) resistant to counterfeits. To identify a strictly named assembly, use the assembly name, public key, version number, and the string of regional standards, if any. Any, even the smallest, difference is sufficient to detect a change in the assembly.

Also We Can Offer!

Other services that we offer

If you don’t see the necessary subject, paper type, or topic in our list of available services and examples, don’t worry! We have a number of other academic disciplines to suit the needs of anyone who visits this website looking for help.

How to ...

We made your life easier with putting together a big number of articles and guidelines on how to plan and write different types of assignments (Essay, Research Paper, Dissertation etc)