.NET Tutorials, Forums, Interview Questions And Answers
Welcome :Guest
 
Sign In
Register
 
Win Surprise Gifts!!!
Congratulations!!!


Top 5 Contributors of the Month
david stephan

Home >> Interview Question >> .NET Framework >> Post New Question Subscribe to Interview Questions

Does CLR impose a strict versioning policy for the private assembly?

Posted By :Virendra Dugar     Posted Date :November 11, 2009    Points :10   Category :.NET Framework 
Answer is No. Private assembly are used by the application in which they are deployed. To use private assembly in any application, one needs to deploy them in the application's directory. Versioning needs to done for shared assembly which are stored in GAC and used by multiple applications.

You can also find related Interview Question to Does CLR impose a strict versioning policy for the private assembly?  below: 

Is versioning applicable to private assemblies?

  
Versioning concept is only applicable to global assembly cache (GAC) as private assembly lie in their individual folders. (More...)

What is Assembly Versioning?

  
when the assembly undergo changes then the initial version number will be changed. when subprogram logic is changed then change Revision number of the version. when new subprogram is added change the Build number of the version. when the interface names i.e subprogram names, class names and the interface names are changed then change the Minor number of the version.
when new classes are added into the assembly then change the Major number of the version.

i.e Major.Minor.Build.Revision is the format followed in assembly versioning format. (More...)

What is side-by-side execution? Can two application one using private assembly and other using Shared assembly be stated as a side-by-side executables?

  
Side-by-side execution is the ability to run multiple versions of an application or component on the same computer. You can have multiple versions of the common language runtime, and multiple versions of applications and components that use a version of the runtime, on the same computer at the same time. Since versioning is only applied to shared assemblies, and not to private assemblies, two application one using private assembly and one using shared assembly cannot be stated as side-by-side
executables.
(More...)

How does assembly versioning work?

  
Each assembly has a version number called the compatibility version. Also each reference to an assembly (from another assembly) includes both the name and version of the referenced assembly.The version number has four numeric parts (e.g. 5.5.2.33). Assemblies with either of the first two parts different are normally viewed as incompatible. If the first two parts are the same, but the third is different, the assemblies are deemed as 'maybe compatible'. If only the fourth part is different, the assemblies are deemed compatible. However, this is just the default guideline - it is the version policy that decides to what extent these rules are enforced. The version policy can be specified via the application configuration file. (More...)

What is private and shared assembly?

  

The assembly which is used only by a single application is called as private assembly. Thus the assembly is private to your application.Suppose that you are creating a general purpose DLL which provides functionality which will be used by variety of applications. Now, instead of each client application having its own copy of DLL you can place the DLL in 'global assembly cache'. Such assemblies are called as shared assemblies.
(More...)

Is versioning applicable to private assemblies?

  
Versioning concept is only applicable to global assembly cache (GAC) as private assembly lie in
their individual folders. (More...)

What is the difference between a private assembly and a
shared assembly?

  
Location and visibility:

A private assembly is normally used by a single application, and is stored in the application's directory, or a subdirectory beneath. A shared assembly is normally stored in the global assembly cache, which is a repository of assemblies maintained by the .NET runtime. Shared assemblies are usually libraries of code which many applications will find useful, e.g. the .NET framework classes.

· Versioning:

The runtime enforces versioning constraints only on shared assemblies, not on private assemblies. (More...)

Is versioning applicable to private assemblies?

  
No, versioning is not applicable to private assemblies as these assemblies reside in their individual folder.
Versioning is applicable only to globsl assebly cache (GAC), i.e only to Shared/Public assemblies (More...)

What’s the difference between private and shared assembly?

  
Private assembly is used inside an application only and does not have to be identified by a strong name. Shared assembly can be used by multiple applications and has to have a strong name. (More...)

Differentiate private and shared assembly?

  
Private assembly must be used only inside an application and it is not identified using strong name. Multiple applications make use of shared assembly and must have a strong name. (More...)

Is versioning applicable to private assemblies?

  
Versioning concept is only applicable to global assembly cache (GAC) as private assembly lie in their individual folders. (More...)

What is Assembly?

  
Assemblies are the building blocks of .NET Framework applications; they form the fundamental unit of deployment, version control, reuse, activation scoping, and security permissions. An assembly is a collection of types and resources that are built to work together and form a logical unit of functionality. An assembly provides the common language runtime with the information it needs to be aware of type implementations. To the runtime, a type does not exist outside the context of an assembly.
Assemblies are a fundamental part of programming with the .NET Framework. An assembly performs the following functions:
It contains code that the common language runtime executes. Microsoft intermediate language (MSIL) code in a portable executable (PE) file will not be executed if it does not have an associated assembly manifest. Note that each assembly can have only one entry point (that is, DllMain, WinMain, or Main).
It forms a security boundary. An assembly is the unit at which permissions are requested and granted.
It forms a type boundary. Every type's identity includes the name of the assembly in which it resides. A type called MyType loaded in the scope of one assembly is not the same as a type called MyType loaded in the scope of another assembly.
It forms a reference scope boundary. The assembly's manifest contains assembly metadata that is used for resolving types and satisfying resource requests. It specifies the types and resources that are exposed outside the assembly. The manifest also enumerates other assemblies on which it depends.
It forms a version boundary. The assembly is the smallest versionable unit in the common language runtime; all types and resources in the same assembly are versioned as a unit. The assembly's manifest describes the version dependencies you specify for any dependent assemblies.
It forms a deployment unit. When an application starts, only the assemblies that the application initially calls must be present. Other assemblies, such as localization resources or assemblies containing utility classes, can be retrieved on demand. This allows applications to be kept simple and thin when first downloaded.
It is the unit at which side-by-side execution is supported.
Assemblies can be static or dynamic. Static assemblies can include .NET Framework types (interfaces and classes), as well as resources for the assembly (bitmaps, JPEG files, resource files, and so on). Static assemblies are stored on disk in PE files. You can also use the .NET Framework to create dynamic assemblies, which are run directly from memory and are not saved to disk before execution. You can save dynamic assemblies to disk after they have executed.
There are several ways to create assemblies. You can use development tools, such as Visual Studio .NET, that you have used in the past to create .dll or .exe files. You can use tools provided in the .NET Framework SDK to create assemblies with modules created in other development environments. You can also use common language runtime APIs, such as Reflection.Emit, to create dynamic assemblies. (More...)

What are the contents of assembly?

  
In general, a static assembly can consist of four elements:

The assembly manifest, which contains assembly metadata.
Type metadata.

Microsoft intermediate language (MSIL) code that implements the types.
A set of resources. (More...)

Quick Links For Interview Questions Categories:
ASP.Net Windows Application   .NET Framework   C#   VB.Net   ADO.Net  
Sql Server   SharePoint   Silverlight   OOPs   JQuery   JavaScript/VBScript
Biztalk Patten/Practices .IIS WCF WPF WWF
Networking Aptitude Others   All      

Find questions, FAQ's and their answers related to .NET, C#, Vb.Net, Sql Server and many more.

 
Now you can find lots of .NET, C#, Vb.Net, SQL Server,Windows, ASP.Net related Questions and their Answers here at www.dotnetspark.com. Our aim is to help you pass your certification Exams (MCP, MCSD, MCAD etc.,) with flying scores and get good name in your company.

So, Start looking our Interview Question section daily and improve your .NET Skills. You can also help others by posting Interview Questions and their Answers in this section.


Hall of Fame    Twitter   Terms of Service    Privacy Policy    Contact Us    Archives   Tell A Friend