Assembly in Dot Net C#

Assembly
 --------------------
 Assembly is the final output after
 twice-compilation of all C# codes.
 W.r.t Program Access, assemlies can be
 classified into 2 - types.
 • Private Assembly
 • Shared Assembly.
 Private Assembly
 ---------------------
 The default assembly created is 'private assembly'.
 A private assembly is limited to one application only.
 The private assembly should be kept at \Bin folder
 of an ASP.NET application.
 Shared Assembly
 ---------------------
 A shared Assembly is usable by all applications
 within the system.
 All shared assemblies are LISTED in GAC ['Jack']
  - Global Assembly Cache
 GAC Folder is:
  C:\Windows\assembly\

 A 'private assembly' can be made 'shared assembly'.
 How To Make a Private Assembly - Shared
 -----------------------------------------------------
 Only a 'Strong Named Private Assembly' can be made 'shared'.
 --------
 Step - 1
 ------------
 Generate 'Strong Name' Key Pair
 sn.exe [Strong Naming Utility Tool]
 dos>sn  -k  APPLICATION_PATH\ABC.snk
  Key Pair
   - Private Key [Non-shareable]
   - Public Key [Shareable]
 Step - II
 -------------
 Add the 'Strong Name Key' as META DATA in
 AssemblyInfo.cs File.
 [assembly:AssemblyKeyFile("APPLICATION_PATH\\ABC.snk")]
 Step - III
 -------------
 Re-Build again to get a 'Strong Named Private Assembly'

 Step - IV
 --------------
 Install with GAC
 GacUtil.exe
 dos>gacutil  /i  APPLICATION_PATH\WebAppABC.dll
 Now the assembly is LISTED at C:\Windows\assembly folder.
 dos>gacutil  /l - for listing in DOS mode
 ====

 Meta Data  and Manifest
 ------------------------------
 Meta Data is vital information of an assembly.
 Version Number
 Strong Naming Key
 Company Name
 Product Name
 Title
 Copyright
 Trademark
 All meta data should be written in AssemblyInfo.cs.
 After compilation, all Meta Data of AssemblyInfo.cs
 will be writen into Assembly.
 All meta data will be available in Manifest of the assembly.
 The Manifest can be viewed by ILDASM.exe.

Comments

Popular posts from this blog

Error : DependencyManagement.dependencies.dependency.(groupId:artifactId:type:classifier)' must be unique: com.adobe.aem:uber-jar:jar:apis -> version 6.3.0 vs 6.4.0

Operators in Asterisk with Linux

ERROR Exception while handling event Sitecore.Eventing.Remote.PublishEndRemoteEventException: System.AggregateExceptionMessage: One or more exceptions occurred while processing the subscribers to the 'publish:end:remote'