How to register a shared assembly ?

Answer Posted / pandian

To work with .Net commands directly in Command prompt, we
have to set the path as below:

1) Right Click on ?My Computer? and go to ?Properties?
in the Context Menu.
2) In the system properties, go to Advanced Tab
3) Click on the Button ?Environment Variables?. In the
System Variables, double click Path and a popup with Edit
System Variables will appear. In the variable value:
include the path as below:
;C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727;C:\Program
Files\Microsoft Visual Studio 8\SDK\v2.0\Bin

The above paths where the .net tools (sn.exe, gacutil.dll)
all are found.


To generate Strong Name Key:

Example:

1) Create an folder GACKey in C:
2) Open Command Prompt.
3) Create SN key as below
4) C:\>sn ?k SampleKey.snk
5) Now if the key was successfully generated, then
command like ?key pair written to SampleKey.snk? will be
displayed.
6) You can find the key in C:\GACKey\SampleKey.snk

Create an assembly:

1) Open Class file in a project
2) Include some methods like below:

public string HelloWorld()
{
return "Hello World";
}
3) Before Class, after importing namespaces, include
the following assembly info:
using System.Reflection;
[assembly: AssemblyKeyFile("C:\\GACKey\\SampleKey.snk")]
[assembly: AssemblyVersion("1.0.0")]
4) Build the application as Ctrl+ Shift + B
5) Dll for the assembly will be created
as ?App_Code.gb4sj5sd.dll? as the assembly is placed in
App_Code
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary
ASP.NET Files\exassembly\59f52ba2\a8d76ba5

To Install Assembly in GAC using GAC Util component:

1) Open command prompt
2) Type the following command:
3) C:\>gacutil -
I ?C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary
ASP.NET Files\exassembly\59f52ba2\a8d76ba5
\App_Code.gb4sj5sd.dll?
4) The above after gacutil ?I is the path where
assembly dll is created.


Register assembly entry in registry:

1. Click Start - run, then type regedit to open registry;
2. Go to
HEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\Assembly
Folders\;
3. Right click AssemblyFolders, then select new to
create a new key for your assembly(for example:
MyTestAssembly);
4. Select Modify by right clicking Default, then enter
the location where your dll resides.

Ex: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary
ASP.NET Files\exassembly\59f52ba2\a8d76ba5

5. Restart the VS.NET application. (Ctrl + Shift + F5)

6. Add project reference and in .NET Tab reference list,
you will see the assembly (App_Code.gb4sj5sd i.e.dll name)
added to GAC.

7. Create instance to the class in assembly and can access
its methods.

Is This Answer Correct ?    9 Yes 6 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

What is asynchronous programming?

741


What is the proxy of the server object in .net remoting?

752


What are dynamic assemblies?

751


Define a process?

708


Explain how does assembly versioning in .net prevent dll hell?

718


How to directly call a native function exported from a dll?

740


Difference between web services & remoting?

773


What is Remoting?

802


Explain the difference between the registerwellknownservicetype(), registerwellknownclienttype(), registeractivatedservicetype() and registeractivatedclienttype() in .net?

705


Explain when we use web service and when we use remoting?

724


Explain the types of .net remoting?

785


What is the difference between the RegisterWellknownServiceType(), RegisterWellknownClientType(), RegisterActivatedServiceType() and RegisterActivatedClientType() in .net?

682


Which one is better WebService and Remoting ?

796


Define the lease of the object?

770


What is objref object in remoting?

902