Austin, Texas (PressExposure) May 26, 2008 -- In the Microsoft .NET framework, an assembly is a partially compiled code library for use in deployment, versioning and security. In the Microsoft Windows implementation of .NET, an assembly is a PE (portable executable) file.
There are two types of assemblies: the process assemblies or the .EXE and the library assemblies or the .DLL.
A process assembly represents a process which will use classes defined in library assemblies. In version 1.1 of the CLR, classes can only be exported from library assemblies; in version 2.0 this restriction is relaxed. The compiler will have a switch to determine if the assembly is a process or library and will set a flag in the PE file. Learn more about this with the austin .net developer.
.NET does not use the extension to determine if the file is a process or library. This means that a library may have either .dll or .exe as its extension. .NET assemblies contain code in CIL, which is generated from .NET languages, which is then compiled into machine language at runtime by the CLR just-in-time compiler. Learn more about this with the austin .net developer.
An assembly can consist of one or more files. Code files are called modules. An assembly can contain more than one code module and since it is possible to use different languages to create code modules this means that it is technically possible to use several different languages to create an assembly.
.NET code can perform a code access security demand. This means that the code will perform some privileged action only if all of the assemblies of all of the methods in the call stack have the specified permission. If one assembly does not have the permission a security exception is thrown. Visit the Austin .net developer to know more about this.
The .NET code can also perform Linked Demand for getting the permission from the call stack. In this case the CLR will look for only one method in the call stack in the TOP position has the specified permission. Here the stack walk through is bound to one method in the call stack by which the CLR assumes that all the other methods in the CALL STACK have the specified permission. For more information about this, you could visit on what the austin .net developer can provide with this.